所以我在我当前的应用程序中为我的模块设置了这个结构。
我还没有找到任何关于多模块导航的官方文档,但是我找到了这篇文章,所以这就是我的 gradle 文件的样子:
功能 1 - 细节
...
implementation project(":base")
implementation project(":feature-2-detail")
...
功能 2 - 细节
...
implementation project(":base")
implementation project(":feature-1-detail")
...
特色 3 - 细节
...
implementation project(":base")
implementation project(":feature-1-detail")
...
这是我的导航图:
功能 1 - 细节
<navigation ...
android:id="@+id/graph_feature_1_id">
<include app:graph="@navigation/graph_feature_2" />
<fragment ...
android:id="@+id/nav_feature_1">
<action ...
app:destination="@+id/graph_feature_2_id" />
</fragment>
</navigation>
功能 2 - 细节
<navigation ...
android:id="@+id/graph_feature_2_id">
<include app:graph="@navigation/graph_feature_1" />
<fragment ...
android:id="@+id/nav_feature_2">
<action ...
app:destination="@+id/graph_feature_1_id" />
</fragment>
</navigation>
特色 3 - 细节
<navigation ...
android:id="@+id/graph_feature_3_id">
<include app:graph="@navigation/graph_feature_1" />
<fragment ...
android:id="@+id/nav_feature_3">
<action ...
app:destination="@+id/graph_feature_1_id" />
</fragment>
</navigation>
所以一切都适用于这种设置,但这里的问题是要将模块连接到另一个模块,我们必须将另一个功能添加为当前功能的依赖项。就像我的情况一样,功能 1 - 详细信息可以转到功能 2 - 详细信息,反之亦然,这样做给了我在 gradle 中的循环依赖。
还有其他方法可以进行多模块导航吗?我试过使用深层链接,但无济于事。
任何帮助,将不胜感激!谢谢!