【发布时间】:2022-11-04 12:35:12
【问题描述】:
我正在使用带有导航组件的底部导航栏
为了使这两个组件一起工作,我调用了:
bottomNavigationView.setupWithNavController(navController)
一切都按预期工作,除非我从片段内部而不是底部导航栏导航
“查看全部”从底部导航栏中打开与“报告”相同的片段
binding.viewAllScansTv.setOnClickListener {
val action = MainFragmentDirections.actionMainFragmentToReportsFragment()
navController.navigate(action)
}
单击“查看全部”后,打开片段,选择“报告”按钮,但是,导航回“主页”不再起作用
我该如何解决这种奇怪的行为?
导航图:
<navigation app:startDestination="@id/mainFragment">
<fragment
android:id="@+id/mainFragment"
android:name="com.package.name.ui.main.MainFragment"
android:label="MainFragment">
<action android:id="@+id/action_mainFragment_to_reportsFragment"
app:destination="@id/reportsFragment" />
</fragment>
</navigation>
底部导航菜单:
<menu>
<item
android:id="@+id/mainFragment"
android:title="Home"/>
<item
android:id="@+id/reportsFragment"
android:title="Reports"/>
<item
android:id="@+id/settingsFragment"
android:title="My account"/>
</menu>
【问题讨论】:
-
请分享您的导航图;需要看
actionMainFragmentToReportsFragment -
我更新了问题并添加了导航图和底部导航菜单
-
不确定您是否使用了正确的导航控制器;你能改用
findNavController().navigate(action)吗 -
试过了。没有什么变化
-
看起来像 this question 的副本。
标签: android navigation bottomnavigationview