假设我的应用程序包含两个活动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