假設我的應用程序包含兩個活動A和B. AndroidManifest中的這兩個都只限於肖像。Android:避免在從其他活動返回時調用onCreate()
活動A開始活動B. 在活動B中,有一個按鈕,單擊時會調用finish()
。
問題是... 當我擁垂直(縱向)的設備,然後單擊該按鈕,調用順序是
B.onStop();
B.onDestory();
A.onStart();
然而,當我橫握設備(景觀),序列成爲
B.onStop();
B.onDestory();
A.onCreate();
A.onStart();
我不想在A.onCreate()
!
我試着按下Back
按鈕。沒有調用A.onCreate()
。 所以...模擬Back
按鈕是某種解決方案
我曾嘗試以下,所有的人都稱爲A.onCreate()
..
finish();
。
onBackPressed()
。
dispatchKeyEvent(new KeyEvent (KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
dispatchKeyEvent(new KeyEvent (KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK));
EDITED
我不得不再說一遍。 AndroidManifest中的這兩項活動都僅限於肖像。 onConfigurationChanged
永遠不會被調用。
不接受靜態變量。由於這會導致其他問題。
在活動A中添加'android:configChanges =「orientation」'可以跳過'A.onCreate()'。但我期待更好的解決方案。 – 2013-05-08 06:44:05
當方向更改時,活動被銷燬並重新創建。如果你不想活動重新開始檢查處理的配置改變自己在http://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange – Raghunandan 2013-05-08 06:44:12
看看這個:HTTP:// stackoverflow.com/questions/8814551/how-to-stop-activity-recreation-on-screen-orientation – andy 2013-05-08 06:52:56