android - 带有嵌套导航图的循环引用

标签 android navigation fragment illegalargumentexception circular-reference

我有一个复杂的导航结构,我从一个导航图开始,然后根据一些逻辑,决定去哪个导航图。然而,两个导航图共享 3 个其他导航图。见下图

Example

目前,如果我尝试将每个导航图包含在 A 和 B 中,则会出现循环引用错误。我还尝试创建一个全局操作,这会导致非法参数异常,因为它在导航图中不存在。

请帮忙!!!

最佳答案

我也不知道如何解决这个问题。导航组件应该允许通过从初始图传递某种 ID 来重用模块化图。
我能想到的唯一解决方法是创建具有不同来源的图表的副本。
例如,“Graph1”现在有两个版本,“Graph1_from_GraphA”和“Graph1_from_GraphB”。所以“GraphA”和“GraphB”会分别引用它们。
如果图表不是那么远,还有条件导航的解决方案,如官方文档(https://developer.android.com/guide/navigation/navigation-conditional)中所述,我们可以在 NavController 中弹出 BackStack,结果在 SavedStateHandle 中,然后在上一个 fragment ,我们可以重定向到所需的目的地。

关于android - 带有嵌套导航图的循环引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61083805/

相关文章:

android - 将图像存储在 android 的内部存储器中

c# - 如何在 XBAP 或 ClickOnce 应用程序中获取引荐来源网址?

javascript - 使用 CSS 同时触发多个动画和形状变化

android - 动态改变ViewpagerIndicator Fragment Content Android

android 寻呼机滑动标签条 fragment 更换器

android - Popup 出现在 DialogFragment 后面

java - 在 libgdx 中截图

android - 如何在 Material Design android 中自定义 TimePicker?

macos - 使用 bash 导航到 Finder 中的文件

java - DialogFragment 无法识别 finish() 方法