10

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

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

有没有一种方法可以强制新活动恢复旧活动或仅恢复现有活动?

4

2 回答 2

16

尝试在清单中将主要活动的启动模式设置为 singleTop:

<activity android:name="activityName" android:launchMode="singleTop" ... />
于 2013-05-03T08:47:27.320 回答
0

您是否尝试过使用:

 Intent i = new Intent(this, MainScreenActivity.class);
  i.setFlags(Intent.FLAG_CLEAR_TOP);
 startActivity(i);
  finish();

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

于 2013-05-03T08:41:35.160 回答