使用“向上”按钮在Android中恢复状态

时间:2013-05-03 08:11:05

标签: android android-activity android-lifecycle

我使用onSaveInstanceState()存储ArrayList成员变量,并在主要活动的onCreate()方法中恢复它。这适用于大多数情况,例如旋转屏幕等但如果我打开一个新活动并使用“向上”按钮(而不是后退按钮)导航回主屏幕,它似乎创建一个新的主要活动而不通过状态包在onCreate()

我已经确认当按下向上按钮时,会为主要活动的原始实例调用onDestroy()方法,这对我来说没有意义,因为我希望它恢复现有活动,就像我按下了一样后退按钮而不是创建一个新按钮。

有没有办法可以强制新活动恢复旧活动或只恢复现有活动?

2 个答案:

答案 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();

此代码应在按下按钮时调用。