我已在onRetainNonConfigurationInstance()上实现了一个Activity来处理android屏幕方向。这里是代码:Android:onRetainNonConfigurationInstance未调用屏幕方向更改
@Override
public Object onRetainNonConfigurationInstance() {
Log.d("[DEBUG]", "onRetainNonConfigurationInstance : "
+ this.getClass().getName());
MyState state = new MyState();
return state;
}
然后,我在Android设备上安装了应用程序。下面是配置:
Device : Samsung Nexus S
Android version : 4.0.4
Kernel version : [email protected] #1
当我通过改变屏幕的方向调试手机上的应用程序,我onRetainNonConfigurationInstance()方法没有被调用。
即使很奇怪,我在onCreate()我的Activity中添加了一条日志行。根据文档,Android应该在屏幕方向发生时重新创建活动。所以,我有类似如下:)
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mylist);
Log.d(Constants.LOG_TAG, "Oncreate : " + this.getClass().getName());
}
但在这里,的onCreate(方法不叫当我改变设备上的屏幕方向。
你是否已经遇到过这个问题?
在文档中,他们也说这个方法已被弃用,而我应该使用与片段相关的东西等。这可能是我没有调用方法的原因吗?
其实,我实施为2.3.3到3.0设备,但我试验装置是4.0.4:它可以是什么问题?我认为Android OS版本之间存在某种向后兼容性。
在此先感谢,
请分享您的清单文件。 – AndroDev 2012-04-11 12:02:41