假设我的应用程序包含两个活动 A 和 B。两者在 AndroidManifest 中都仅限于纵向。
活动 A 启动活动 B。
在Activity 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
从未被调用过。
不接受静态变量。因为这会导致其他问题..
发生这种情况是因为您在应用程序启动时的某个阶段更改了方向,我认为。
当方向改变时,活动被破坏然后重新创建。为了避免它处理方向。
通过在清单文件中的 Activity 下添加以下行,自行处理方向更改。
<activity android:name=".Activity_name"
android:configChanges="orientation|keyboardHidden|screenSize"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)