gpt4 book ai didi

android - 使用单个 NavHostFragment 导航具有多个模块的应用程序

转载 作者:行者123 更新时间:2023-11-29 16:38:34 29 4
gpt4 key购买 nike

我有一个包含多个功能模块的应用程序,我想在我的主模块中使用单个 NavHostFragment 进行导航。

         app
| | |
feature1 | feature2
| | |
common

导航图似乎工作正常(我可以添加功能模块中的所有 fragment ,当我启动应用程序时会显示 startFragment)但有时我必须从功能模块内部开始导航,但我没有访问权限到那里的 NavHostFragment。

例如:

findNavController(navHostFragment).navigate(R.id.loginFragment)

最佳答案

根据 findNavController() documentation :

This method will locate the NavController associated with this Fragment, looking first for a NavHostFragment along the given Fragment's parent chain.

这意味着您不需要传入 NavHostFragment 本身,但可以传入由您的 NavHostFragment 创建的任何 fragment ,它会正确找到 导航 Controller

因此在几乎所有情况下,您都应该将 this 传递给 findNavController():

// From anywhere in one of the Fragments in your navigation graph
findNavController(this).navigate(R.id.loginFragment)

关于android - 使用单个 NavHostFragment 导航具有多个模块的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51858862/

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