android - 区分静态片段和动态片段
问题描述
编写一个 android 库,我正在使用supportFragmentManager.registerFragmentLifecycleCallbacks
. 在回调中有片段对象,我如何检查片段是静态片段(在 xml 文件中定义)还是动态片段(在像 FrameLayout 这样的容器中定义)?
解决方案
我自己找到了解决方案,它实际上是一个非常简单的解决方案。
Fragment 类有一个调用方法isInLayout()
,如果片段是使用<fragment>
标签创建的,则该方法返回 true。
这是该方法的文档:
public final boolean isInLayout()
<fragment>
如果布局通过标签作为活动视图层次结构的一部分包含,则返回 true 。当通过<fragment>
标签创建片段时,这将始终是正确的,除非旧片段从以前的状态恢复并且它没有出现在当前状态的布局中。
推荐阅读
- pandas - pyplot 记号太多,生成速度慢
- python - 密码和用户名正确,但我收到 SMTPAuthenticationError
- sql - 如果产品尚未售出,我如何取回产品数量?
- python - 仅使用 python 从 API 中获取新数据
- time-complexity - 生成所有可能的拓扑类型的图的时间复杂度
- json - Dart颤动FormatException:无效的Unicode转义
- javascript - 以模态响应路由器刷新
- javascript - 如何在不损失图像质量的情况下调整图像大小以适合小型 HTML5 画布?
- javascript - 如何使用链接中的关键字在我的数据库中查找产品?(mongodb,快递)
- android - 如何显示自定义菜单标题?