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 - 获取当前片段的主要内容,如果未能解决你的问题,请参考以下文章