4

编写一个 android 库,我正在使用supportFragmentManager.registerFragmentLifecycleCallbacks. 在回调中有片段对象,我如何检查片段是静态片段(在 xml 文件中定义)还是动态片段(在像 FrameLayout 这样的容器中定义)?

4

1 回答 1

1

我自己找到了解决方案,它实际上是一个非常简单的解决方案。

Fragment 类有一个调用方法isInLayout(),如果片段是使用<fragment>标签创建的,则该方法返回 true。

这是该方法的文档:

public final boolean isInLayout()

<fragment>如果布局通过标签作为活动视图层次结构的一部分包含,则返回 true 。当通过<fragment>标签创建片段时,这将始终是正确的,除非旧片段从以前的状态恢复并且它没有出现在当前状态的布局中。

于 2018-12-20T10:45:17.380 回答