3

我正在制作一个只有一个 Activity 的应用程序。当我按下主页或最近的应用程序按钮时,状态已正确保存,当我返回应用程序时,一切都在那里。当我按下后退按钮并稍后返回应用程序时,savedInstanceStateonCreate. 我已经读过按下后退按钮时不会保存状态,但这在我的情况下似乎不直观,因为后退和主页按钮是让应用程序留在用户眼中的同等有效方式,直到他们尝试返回他们在做什么。按下后退按钮时是否无法保存状态?

如果我必须做一些持久性存储,那么:

a)如何覆盖后退按钮行为以使其在按下后退时保存应用程序,以及

b)我可以以某种方式持续保存一个Bundle,这样我就不必复制代码来保存状态了吗?

4

3 回答 3

0

您正在寻找的是SharedPreferences我想看看它。它将帮助您解决问题

于 2013-10-07T17:12:12.007 回答
0

我可能错了,但我的理解是 savedInstanceState 仅在您更改设备方向时保存您的数据,但是一旦您单击返回按钮,您的活动就会被破坏。为了在按下后退按钮时保存数据,您可以使用 SharePreferences 保存数据,也可以使用单例类。

于 2013-10-07T18:12:02.130 回答
0

http://developer.android.com/reference/android/app/Activity.html首先看一下活动生命周期。在我看来,您需要覆盖 ondestroy 方法并保留您的东西。您可以将捆绑包用于简单的东西,但复杂的东西最好使用包裹。oncreate 方法应该检查东西是否为空

于 2013-10-07T19:02:34.907 回答