【发布时间】:2013-08-16 02:34:15
【问题描述】:
我有一个 Activity,其中有几个片段。
片段都设置为 false 以保留实例属性,这意味着它们在屏幕方向更改时被销毁。 (另外,它们不在后台堆栈中)
当我更改屏幕方向时,我观察到片段被破坏并重新创建,这是预期的。
我没想到的是 - 在重新创建活动期间通过活动重新附加这些片段。我在 Activity 的 onCreate 方法中有一个空检查,它确定片段是否存在,并根据这个决定添加或附加它。
现在,如果所有片段都被删除/销毁,片段如何附加到活动的 onCreate 中。销毁了就不应该加了吧?
我怀疑Activity的onCreate的super.onCreate(savedInstanceState)在这里再次加载了fragment。
有什么想法吗?
【问题讨论】:
-
Fragments的状态你保存了吗??
-
除非您为您的活动发布代码,否则很难仅从您的描述中判断发生了什么。
-
我没有显式保存它们的状态,但正如我所提到的,系统可能会在 onSaveInstance..() 方法中隐式保存活动的状态(因此它是片段),就在它杀死活动和在重新创建期间重新加载。
-
代码真的很难放在一个简单的sn-p中。顺便说一句,我找到了一个关于我的问题的线程; stackoverflow.com/questions/8474104/…
标签: android android-activity fragment