通过按下用户按钮关闭活动时保存和恢复活动状态

时间:2014-07-02 03:07:22

标签: android save state

我正在开发一个应用程序,用于收集个人,企业,资产等客户详细信息。

该应用会显示带有选项的ListView,并根据选项启动活动。在个人用户输入详细信息后按下后退按钮并返回MainActivity(Activity并带有ListView)并选择其他选项,如业务详细信息和资产详细信息。用户输入详细信息并返回MainActivity by Back按钮并选择另一个选项。

我尝试使用ActivityonSavedInstance(Bundle)以及共享偏好保存我的onRestoreInstanceState(Bundle)但失败了。

有人可以帮忙吗?如果需要,我会提供代码。

1 个答案:

答案 0 :(得分:1)

OnSaveInstanceState() / OnRestoresInstanceState()不应该用于从活动中按下的后退键。事实上,永远不会调用OnSaveInstanceState()。在这里,用户明确地销毁Activity并将其从后栈中删除。

这两种方法用于用户按下主页按钮或Android系统销毁您的活动的情况。

您可以尝试的选项

  1. 尝试使用StartActivityForResult() / OnActivityResult()方法。在这里,目标活动可以设置父活动可以访问的数据。
  2. 使用应用程序类(单个实例类(单例类)来保存数据)。
  3. 共享SharedPreferences,文件,数据库等