Android如何在按下Home键后恢复UI状态?

3
我有两个活动,A和B。
我的应用从A转到B。(A -> B)。
当我在B上并按返回按钮(硬件返回按钮)时,成功恢复了A的状态和UI(onResume()被调用)。问题是,当我按下主页按钮(Actionbar箭头)时,先前的Activity A会调用onCreate(),因此它的状态和UI不会像按下返回按钮那样被恢复。
为什么会发生这种情况?我该如何解决它?

你在清单文件中添加了向上导航吗? - Rolf ツ
你是如何做到这个的? - Anton Shkurenko
2个回答

0

当你点击ActionBar上的向上按钮时,似乎创建了Activity A的一个新实例,而不是返回到已经存在的Activity A。

你应该重写按下按钮时调用的监听器,并在Activity B上调用finish()。这样的行为将与按下设备的返回按钮相同。


0

http://developer.android.com/training/basics/activity-lifecycle/recreating.html

谷歌在开发者网站上有很好的讨论。每当您离开应用程序时,您必须保存重建 Activity A 最后状态所需的信息,因为系统可以在它关闭后随时从缓存中删除您的应用程序。因此,请将重要的数据库键等保存到系统上的文件中,并带有重新加载 Activity 所需的这些键。这也会为您处理方向更改。 重要的生命周期方法是 onPostResume 恢复状态以及 onStop 和 onDestroy 保存状态。

还要阅读有关活动生命周期的内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接