给出N个表示同一实体的不同UI的片段。片段有条件地显示。该条件仅在运行时中已知。每个片段应具有相同的导航流程。
如何使用导航体系结构组件XML图概括/提取片段中的导航流以进一步重用?当前,我仅看到为每个片段创建单独的目标或嵌套导航的方法,但是就重用而言,这是一个糟糕的主意。另一个选择是在Kotlin / Java代码中进行所有条件转换,但是在这种情况下,将不会在导航图模式中描述应用程序的流程。有没有更好的方法可以重用导航?
有关此主题的官方文档非常少见:https://developer.android.com/topic/libraries/architecture/navigation/navigation-conditional
答案 0 :(得分:0)
片段可以与导航体系结构组件重复使用,以保持代码高效。
例如,我的 HomeFragment 中有一个嵌套的子片段,名为 ContentFragment ,其中包含内容。我正在重新使用 ContentFragment 在另一个屏幕上显示另一种类型的内容。
a)对于嵌套的Fragment,在导航组件时代之前的Fragment中,我照常通过捆绑包传递了一个参数。
b)对于新屏幕,我选择添加到NavGraph的片段,然后单击参数部分中的 + 按钮。然后,您可以遵循documentation在导航组件中添加参数。