gpt4 book ai didi

安卓 : onRetainNonConfigurationInstance is not called on Screen orientation change

转载 作者:行者123 更新时间:2023-11-30 04:15:27 27 4
gpt4 key购买 nike

我已经在我的一个 Activity 上实现了 onRetainNonConfigurationInstance() 来处理 android 屏幕方向。这是代码:

  @Override
public Object onRetainNonConfigurationInstance() {
Log.d("[DEBUG]", "onRetainNonConfigurationInstance : "
+ this.getClass().getName());
MyState state = new MyState();

return state;
}

然后我在安卓设备上安装了这个应用程序。这是配置:

Device : Samsung Nexus S
Android version : 4.0.4
Kernel version : 3.0.8-g6656123android-build@vpbs1 #1

当我通过更改屏幕方向在手机上调试应用程序时,我的 onRetainNonConfigurationInstance() 方法没有被调用。

更奇怪的是,我在 Activity 的 onCreate() 方法中添加了一个日志行。根据文档,Android 应该在屏幕方向发生时重新创建 Activity 。所以我有如下内容:

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mylist);
Log.d(Constants.LOG_TAG, "Oncreate : " + this.getClass().getName());
}

但是在这里,当我在设备上更改屏幕方向时,onCreate() 方法不会被调用

你们有没有遇到过这个问题?

在文档中,他们还说这个方法已被弃用,我应该使用与 Fragments 等相关的东西。这可能是我没有调用该方法的原因吗?

实际上,我正在实现 2.3.3 到 3.0 设备,但我的测试设备是 4.0.4:这可能是问题所在吗?我认为 Android 操作系统版本之间存在某种向后兼容性。

提前致谢,

最佳答案

您可能在 Activity 的 list 文件中为 orientation 声明了一个 android:configChangessays您将自己处理方向更改,因此不会调用 onCreate 方法。

关于安卓 : onRetainNonConfigurationInstance is not called on Screen orientation change,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10104781/

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