如何设置多个嵌套的FragmentContainerViews与各自的导航图?

问题描述 投票:0回答:1

我正在寻找将我的应用程序转换为单一的活动,按照谷歌的指导方针。(使用Kotlin)

比方说,我的活动中有一个FragmentContainerView1,没有工具栏或其他东西。这个视图用于在登录屏幕、注册和显示主片段之间导航。

在主片段内,我有另一个FragmentContainerView2,它应该根据主片段内的BottomNavigation视图来显示。

但是我在FragmentContainerView2中的碎片内有一些元素,需要在FragmentContainerView1中执行动作。

我该如何实现呢?

图片:这里mainFragment包含BottomNavigation,其中mainMenuFragment是一个目标,它需要在FragmentContainerView1中执行操作。 我如何获得BottomNavigation内部导航控制器的引用?

编辑1: navController=Navigation.findNavController(view.findViewById(R.id.fragmentContainer)) 没有用,还是返回相同的外部导航控制器。Main Nav Graph

android android-fragments bottomnavigationview android-jetpack android-jetpack-navigation
1个回答
0
投票

不是一个完整的解决方案,但我发现的答案是保持一个容器作为一个和其他作为fragmentContainerView。

并得到内部导航控制器使用。

innerNavController= (activity as AppCompatActivity).findNavController(R.id.innerFragmentContainer)

只适用于特定的命令和其中一个容器是...

另外,在得到innerNavController后,任何类型的调用与 findNavController() 给出了内部导航控制器。要获得外导航控制器,请使用。

outerNavController = (activity as AppCompatActivity).findNavController(R.id.outerFragmentContainer)
© www.soinside.com 2019 - 2024. All rights reserved.