Android - 获取当前片段

Posted

技术标签:

【中文标题】Android - 获取当前片段【英文标题】:Android - Get current fragment 【发布时间】:2021-12-15 08:22:35 【问题描述】:

这个问题被问了很多,但我最近没有看到答案。

这包含在我的主要活动中:

<androidx.fragment.app.FragmentContainerView
    android:id="@+id/fragment_container_view"
    android:name="androidx.navigation.fragment.NavHostFragment"
    app:navGraph="@navigation/navigation_map" />

我试过了

-> 不推荐使用片段管理器

-> 支持片段管理器不起作用

我想知道我的FragmentContainerView中加载的片段是什么

【问题讨论】:

FragmentManager 的 Jetpack 版本未被弃用。您似乎正在使用框架FragmentManager弃用。 “我想知道我的 FragmentContainerView 中加载的片段是什么”——在 FragmentManager 上调用 findFragmentById() 改用supportFragmentManager This 将帮助您使用导航组件获取当前片段 这会有所帮助:***.com/questions/50689206/… supportFragmentManager 没有给我片段,可能是因为我使用了 FragmentContainerView ? 【参考方案1】:

我会按照建议使用supportFragmentManager

虽然findFragmentById 并没有为它工作,但在另一个链接的问题中看到这一点很顺利:

navHostFragment = supportFragmentManager.fragments.first()

然后是平常的

wantedFragment = navHostFragment.getChildFragmentManager().getFragments().first()

【讨论】:

以上是关于Android - 获取当前片段的主要内容,如果未能解决你的问题,请参考以下文章

在 android dumpsys 中获取当前可见片段的信息

如何使用ById或ByTag在android中获取当前片段

获取当前可见的Android Fragment

如何在android的地图中获取当前位置?

如何获取当前显示的片段?

Android获取片段宽度