我无法找到解决此问题的解决方案:
我有一个mainActivity
,其中包含BottomNavView
和一个NavController
,它以navigation_main.xml
作为图表占据了bottomNav上方的所有空间。在bottomNav选项卡之一上,我有一个项目列表,当用户选择该项目时,它应该在显示该项目信息的新屏幕(即bottomNavView,现在不再可见)中打开,该模型通过[C0 ]与列表中的模型。我用导航设置创建了一个新的navigationArgs
,用于显示详细信息(对话框等)。
我提出了两种可能的解决方案,而不是其中一种:
打开一个新活动,唯一的工作就是包含navController并托管新流程,然后将其作为导航目标添加到navigation_details.xml
中。我找到的将nav参数传递给片段的唯一解决方案是让片段尝试将其从自己的参数中拉出,如果那里不存在,请尝试父活动的navigation_main
。这就要求navigation [...]。xml中的intent.extras
对于活动action和detailsFragment具有相同的键是相同的。从本质上来说,这是一个问题,即当来自另一个导航图时,如何将参数从startDestination传递给startDestination。
让detailsFragment显示为全屏对话框(也将所有后续导航也设置为全屏对话框。
任何人都知道一种更好,更整洁的集成方式吗?(而且,这是我完全集成了导航组件的第一个应用程序,所以我的攻角可能不正确)
如果您要将参数从naveGrap传递给另一个navGrph,则使用如下所示也许这段代码会为您提供帮助,如果您需要更多帮助,请与我联系。
如果您向我展示您的代码,也许我可以为您提供帮助...