Android 区分静态片段和动态片段

Android 区分静态片段和动态片段,android,android-fragments,fragment-lifecycle,Android,Android Fragments,Fragment Lifecycle,在编写android库时,我正在使用supportFragmentManager.registerFragmentLifecycleCallbacks收听片段的生命周期。回调中有fragment对象,我如何检查该片段是静态片段(在xml文件中定义)还是动态片段(在类似FrameLayout的容器中定义)?我自己找到了解决方案,实际上这是一个非常简单的解决方案 Fragment类有一个名为isInLayout()的方法,如果使用标记创建了片段,则该方法将返回true 以下是该方法的文档: 公共最终

在编写android库时,我正在使用
supportFragmentManager.registerFragmentLifecycleCallbacks
收听片段的生命周期。回调中有fragment对象,我如何检查该片段是静态片段(在xml文件中定义)还是动态片段(在类似FrameLayout的容器中定义)?

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

Fragment类有一个名为
isInLayout()
的方法,如果使用
标记创建了片段,则该方法将返回true

以下是该方法的文档:

公共最终布尔值isInLayout() 如果布局通过
标记作为活动视图层次结构的一部分包含,则返回true。当通过
标记创建片段时,这始终是正确的,除非旧片段从以前的状态恢复,并且它不会出现在当前状态的布局中