【发布时间】:2012-12-18 14:20:47
【问题描述】:
我有一个关于 DialogFragment 的问题。我正在尝试制作一个对话框,在设备旋转后保持其状态。这个对话框有一堆对诸如适配器和其他较重对象之类的东西的引用,我需要在旋转时保持它,如果可能的话,不必将每个引用都设为 Parcelable 或 Serializable 以便我使用 onSaveInstanceState 来保存和恢复它们原始活动被重新创建。
我注意到 DialogFragment 上有一个名为 setRetainInstance(boolean) 的方法,它允许您在重新创建活动时保留对话框片段实例。但是,当我现在旋转设备时,对话框不再显示。我知道我可以从活动的 FragmentManager 中获取它,但我找不到让它再次可见的方法。对此有何建议?
谢谢, 米海
【问题讨论】:
-
我在这里看到了一个更大的概念问题。在 setFragmentInstance 的 android 文档中,它写道“控制是否在 Activity 重新创建期间保留片段实例(例如从配置更改中)。这只能与 不在后台堆栈中的片段一起使用. 如果设置,在重新创建活动时,片段生命周期将略有不同”。这是因为对话框片段在后台吗?
标签: android