我使用onSaveInstanceState()
存储ArrayList
成员变量,并在主要活动的onCreate()
方法中恢复它。这适用于大多数情况,例如旋转屏幕等但如果我打开一个新活动并使用“向上”按钮(而不是后退按钮)导航回主屏幕,它似乎创建一个新的主要活动而不通过状态包在onCreate()
。
我已经确认当按下向上按钮时,会为主要活动的原始实例调用onDestroy()
方法,这对我来说没有意义,因为我希望它恢复现有活动,就像我按下了一样后退按钮而不是创建一个新按钮。
有没有办法可以强制新活动恢复旧活动或只恢复现有活动?
答案 0 :(得分:14)
尝试在清单中将主要活动的启动模式设置为singleTop:
<activity android:name="activityName" android:launchMode="singleTop" ... />
答案 1 :(得分:0)
你试过用过:
Intent i = new Intent(this, MainScreenActivity.class);
i.setFlags(Intent.FLAG_CLEAR_TOP);
startActivity(i);
finish();
此代码应在按下按钮时调用。