我有4个片段。我通过使用hide
/show
事务在它们之间切换。其中之一可能具有嵌套的片段,这些片段是通过replace
事务添加的。问题是,如果我添加一个嵌套片段,则隐藏主片段,然后再次显示它,onHiddenChanged
则不会调用嵌套片段的方法。为什么这样?如何确定嵌套片段何时可见?
我还遇到了您面临的问题。
我发现隐藏/显示父片段不会影响子片段的可见状态,并且不会调用onHiddenChanged()
并isVisible() = true
始终返回。
解决方法请参阅另一个问题中的答案。
基本上,我在上创建了自己的getIsVisible()
函数,BaseFragment
该函数以递归方式查看所有父母,以发现其实际可见状态。我相信您可以onHiddenChanged()
通过将其传播到所有子片段来做类似的事情。
我知道这很古老,但也许有人可以从中受益:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句