gpt4 book ai didi

android - 处理轮换变化和用户离开 Activity

转载 作者:行者123 更新时间:2023-11-29 19:52:48 25 4
gpt4 key购买 nike

所以我通过 doSomething() 方法获得了这个 Activity。当用户离开 Activity 并在一段时间后恢复时必须调用此方法。此代码工作正常。问题是:当用户旋转手机(方向改变)时,该方法也会被调用。我不想在 Orientation Change 上调用该方法。这是我的 Activity 代码

public class MainActivity extends AppCompatActivity
{
private static boolean callMethod=true;
@Override
protected void onResume() {
super.onResume();
if(callMethod)
doSomething();
}
@Override
protected void onPause() {
super.onPause();
callMethod=true;
}

private void doSomething()
{
Log.i(“doSomething()”,”Did something.”);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(callMethod)
doSomething();
}

}

提前致谢!

最佳答案

从 API 13 开始,您可以在 list 中使用 configChanges

将以下内容添加到 list 中。这可以防止在屏幕旋转时重新创建 Activity:

<activity android:name=".Activity_name"
android:configChanges="orientation|keyboardHidden">

在此之后需要注意的是,您应该自己处理屏幕方向更改。为此,您应该在您的 Activity 中覆盖以下功能:

 public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){
setContentView(R.layout.layout_landscape);
}
else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
setContentView(R.layout.layout);
}
}

关于android - 处理轮换变化和用户离开 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36968415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com