带有嵌套导航图的循环参考
Posted
技术标签:
【中文标题】带有嵌套导航图的循环参考【英文标题】:Circular Reference with Nested Nav Graphs 【发布时间】:2020-07-19 20:50:13 【问题描述】:我有一个复杂的导航结构,我从一个导航图开始,然后根据一些逻辑,决定去哪个导航图。然而,两个导航图共享 3 个其他导航图。见下图
目前,如果我尝试将每个导航图包含在 A 和 B 中,我会收到循环引用错误。我还尝试创建一个全局操作,这会导致非法参数异常,因为它在导航图中不存在。
请帮忙!!!
【问题讨论】:
你弄明白了吗?我有一个非常相似的问题,我什至不明白,因为这不是循环的,它只是包含在多个地方,在我看来应该没问题。 【参考方案1】:我也不知道怎么解决。导航组件应该允许通过从初始图传递某种 ID 来重用模块化图。
我能想到的唯一解决方法是创建具有不同来源的图表的副本。
例如,“Graph1”现在有两个版本,“Graph1_from_GraphA”和“Graph1_from_GraphB”。所以“GraphA”和“GraphB”会分别引用它们。
如果图表不是那么远,还有条件导航的解决方案,如官方文档(https://developer.android.com/guide/navigation/navigation-conditional)中描述的那样,我们可以在 SavedStateHandle 中弹出 NavController 中的 BackStack 和结果然后在上一个片段中,我们可以重定向到所需的目的地。
【讨论】:
以上是关于带有嵌套导航图的循环参考的主要内容,如果未能解决你的问题,请参考以下文章