带有嵌套导航图的循环参考

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 和结果然后在上一个片段中,我们可以重定向到所需的目的地。

【讨论】:

以上是关于带有嵌套导航图的循环参考的主要内容,如果未能解决你的问题,请参考以下文章

在JAVA中如何跳出当前的多重嵌套循环?

带有 pragma omp 并行的嵌套循环,混乱起来

带有嵌套循环的多维数组Javascript

带有 Paramiko 的嵌套 SSH 退出 while 循环

来自数据框的嵌套字典,带有循环列表

带有嵌套for循环的Javascript多维数组-无法正常工作