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

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

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

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

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

我该如何实现呢?

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

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

解决方案:

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

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

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

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

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

outerNavController = (activity as AppCompatActivity).findNavController(R.id.outerFragmentContainer)

给TA打赏
共{{data.count}}人
人已打赏
解决方案

Flink文件读取堆内存异常

2022-5-13 10:00:19

解决方案

不支持的文本语言:自然语言理解API

2022-5-13 10:00:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索