gpt4 book ai didi

android - 使用导航组件和导航图在 Fragment(非 Activity )内使用 BottomNavigationView 导航

转载 作者:行者123 更新时间:2023-12-04 23:41:57 50 4
gpt4 key购买 nike

我有一个 Activity应用。我创建了一个 Navigation graph包含所有可能的目的地( Fragment )。
Activity layout仅包含 <fragment/>容器应有的样子。

有一个包含 BottomNavigationView 的主要 fragment 用户可以在其中导航到所有重要的目的地(其中 3 个)。

当我实现 BottomNavigationView正如官方文档中的许多教程或 Activity 中所述,它取代了Activity 的全部内容。 .因此,BottomNavigationView不再显示,因为它包含在 Fragment 中而不是在Activity .我想让它向右充气layout在主 fragment 中。

我应该使用另一个Navigation graph ,具体针对主要 Fragment 吗?
我应该使用经典的Listener (但我会失去使用 Navigation graph 的所有兴趣)?
有我不知道的解决方案吗?

我该如何实现?我试图创建两个不同的 Navigation graph ,但我无法将其设置为我的 BottomNavigationView

最佳答案

回答:

创建第二个 Navigation graph包含您想要的目的地BottomNavigationView访问。

在包含 BottomNavigationView 的 fragment 中确保插入 FragmentContainerView和适当的身份证。

然后,感谢 This answer right here你可以很容易地实现它。

Juste 使用以下方法引用嵌套的 NavHost:

val nestedNavHostFragment = childFragmentManager.findFragmentById(R.id.bottom_nav_host) as? NavHostFragment

val navController = nestedNavHostFragment?.navController

val bottomNavigationView = view.findViewById<BottomNavigationView>(R.id.bottom_navigation)

if (navController != null) {
bottomNavigationView.setupWithNavController(navController)
} else {
throw RuntimeException("Controller not found")
}

关于android - 使用导航组件和导航图在 Fragment(非 Activity )内使用 BottomNavigationView 导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61488520/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com