我有一个 onCreateView
fragment ,我执行后台异步调用以获取一些要显示的数据。
我将作为后台调用结果的对象保存为 fragment 的成员变量。
当我看到用户界面和数据时,一切正常,当我按下主页按钮时,应用程序进入后台。当我重新打开应用程序时,数据位于由我的 fragment 膨胀的 UI 中。
所以现在我不确定以下内容:
1) 我应该将我的对象保存在 onSaveInstanceState
中吗?
2)我应该在哪里恢复它?在 onCreateView
?
传递的 bundle 中
3) 数据何时会保存在我的包中?我的意思是,如果不立即保存,我怎么能看到我的 UI 中的数据会丢失?
最佳答案
在 fragment 构造函数中,添加以下行:
setRetainInstance(true);
Control whether a fragment instance is retained across Activity re-creation (such as from a configuration change).
关于java - 正确使用 fragment 中的实例状态保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36889739/