java - 正确使用 fragment 中的实例状态保存

标签 java android android-fragments

我有一个 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/

相关文章:

android - 如何使用像后退按钮一样的按钮来关闭当前 fragment ?

java - SOAP 网络服务和 RESTFUL 网络服务之间的区别

Java 是否嵌套?其他方法?

android - 如何使 Button 更具响应性?

java - Dagger 2 Android fragment

Android FindFragmentByTag 在 FragmentTabHost 中返回 null

java - 想知道钛加速器的功能吗?

java - 使用 Spring Data MongoDB 保存模型实例时如何包含方法返回值?

java - RxJava2 - 为多个 Rx 链重用运算符序列

安卓NDK |如何调试应用程序启动或暂停应用程序直到调试器连接