存在嵌套片段时 setRetainInstance(true) 将不起作用

Posted

技术标签:

【中文标题】存在嵌套片段时 setRetainInstance(true) 将不起作用【英文标题】:setRetainInstance(true) won't work when there is nested fragment 【发布时间】:2016-06-23 23:17:13 【问题描述】:

在我当前的结构中,我有一个片段 A,在片段 A 下它将添加片段 B 或 C。我想使用 setRetainInstance(true),因为我的 xml 不会因不同的方向而改变,这是最简单的方法去。我不能在 Fragment B 或 C 中使用 setRetainInstance(true),因为它们是嵌套的 Fragment,系统不允许我这样做。我可以在片段 A 中执行 setRetainInstance(true);但是,它不会起作用。为什么它在父片段中不起作用?

【问题讨论】:

【参考方案1】:

从this fix in Support Library 24.0.0 或 android N 框架片段中保留嵌套的支持片段。

【讨论】:

以上是关于存在嵌套片段时 setRetainInstance(true) 将不起作用的主要内容,如果未能解决你的问题,请参考以下文章

理解 Fragment 的 setRetainInstance(boolean)

如何防止在方向更改时重新创建片段寻呼机中的片段?

Android:将 savedInstanceState 与片段一起使用

ViewPager 中的片段在 getView() 中返回 null

重叠DialogFragment,在方向更改时以错误的顺序重新创建

将片段添加到片段中(嵌套片段)