我使用onSaveInstanceState()来存储一个ArrayList成员变量,并将其还原在主要活动的onCreate()方法中.这在大多数情况下都可以工作,例如旋转屏幕等等,但是如果我打开一个新的活动,并使用“向上”按钮(而不是后退按钮)导航回主屏幕,似乎创建了一个新的主要活动,而不会传递onCreate()中的状态包.
我已经确认,当按下向上按钮时,将调用onDestroy()方法来调用主要活动的原始实例,这对我来说没有任何意义,因为我希望它可以恢复现有的活动,就像我按了后退按钮,而不是按创建一个新的.
有没有办法强制新活动恢复旧的活动,或只是恢复现有活动?
解决方法
尝试将主要活动的启动模式设置为您的清单中的singleTop:
<activity android:name="activityName" android:launchMode="singleTop" ... />