我已在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