【发布时间】:2013-10-11 03:04:04
【问题描述】:
我在保存我的 Activity 状态时遇到问题。我在 SO 中搜索并阅读了很多问题,但我无法得到我的问题的答案。
我有一个 Activity A 和 2 个 Fragments。 Activity A 保存Fragments 显示的数据。当我为我的设置Activity 启动一个新的Intent 时,Activity A 被暂停(未销毁),onPause() 和onSaveInstanceState() 方法被调用,所以我将所有数据保存在onSaveInstaceState() 中。
当我使用返回按钮Activity 从我的设置返回时,A 再次显示,但 onCreate() 方法没有被调用,因为 Activity 没有被破坏,而是 onResume() 方法被调用,但我失去了状态我在Activity A 中的变量,我无法访问我保存在onSaveInstanceState() 中的Bundle,因为没有调用onCreate()。
所以onSaveInstanceState() 只有在你旋转屏幕时才有用?如何访问我保存在onSaveInstanceState() 中的所有数据?或者我应该将它们保存到文件或SharedPrefs 以便稍后在onResume() 中访问它们?
【问题讨论】:
-
这没有多大意义...您丢失了在 Acitivy A 上声明的实例变量的数据?他们变成了空?
标签: android android-activity android-lifecycle