Hi有一个导航组件,有4个目的地,我在一个选项菜单中添加了目的地。
它工作得很完美,但现在我需要从一个选定的片段移动到另一个片段,但我没有找到任何解决方案,因为我可以打开我选定的片段,但我不能重新打开第一个片段。
这是MainActivity中的nav控制器配置:
val navView: NavigationView = binding.navView
navController = findNavController(R.id.nav_host_fragment)
appBarConfiguration = AppBarConfiguration(
setOf(
R.id.nav_home,
R.id.nav_two,
R.id.nav_three,
R.id.nav_four
), drawerLayout
)
navController?.let {
setupActionBarWithNavController(it, appBarConfiguration)
navView.setupWithNavController(it)
}
这是第二个片段中的(错误的)调用,以编程方式转到第四个片段:
requireActivity().findNavController(R.id.nav_host_fragment).navigate(R.id.nav_four)
就像我说的,我正确地进入第四个片段,但导航不正确,因为在那之后,它是不可能选择主片段选择侧菜单。
有什么办法吗?
1条答案
按热度按时间jhdbpxl91#
假设你有一个my_navigation.xml文件,你分别添加了4个片段fragment_1、fragment_2、fragment_3和fragment_4。您应该在每个片段之间添加路径。
因此,您可以使用actionID从任何片段导航到任何片段。
ref: https://medium.com/swlh/android-navigation-component-part-1-6191323eaf39
从任何一个片段,你可以像这样导航到另一个片段:
我可能误解了这个问题,如果是,请更新我。祝你好运!