从Android 4.2开始,Android支持嵌套片段 http://developer.android.com/about/versions/android-4.2.html#NestedFragments。该文档没有给出很多有关嵌套的解释Fragment
生命周期,但从经验来看,它们的生命周期与“常规”非常相似Fragments
.
看起来有一个很大的区别:孩子Fragments
当父级时不恢复Fragment
onCreate
方法被调用。因此,似乎不可能保存/恢复对特定的引用Fragment
:
- Using
getChildFragmentManager.findFragmentByTag(String)
总是返回null
在父母中Fragment
onCreate(Bundle)
因为mActive
is null
.
- Using
putFragment
/getFragment
结果是NullPointerException
因为getFragment
查找 null 的大小mActive
ArrayList
.
所以,我的问题很简单。有没有正确的方法来检索对孩子的引用Fragment
在父级中Fragment
onCreate
method?
我认为你不能进入onCreate
因为当时视图还没有构建。你可以在onViewCreated()
尽管。我使用的逻辑是:
- 检查是否有保存的状态
onViewCreated()
,如果有则尝试获取子fragment
- 然后检查子片段是否为空,如果是,则使用子片段管理器添加它。
我所说的“检查”是指通过 id 查找片段。我想按标签也应该有效。
AFAIK 你无法获得子片段before视图层次结构已恢复或创建,但您可以稍后执行相同的操作,例如在onActivityCreated()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)