我有一个游戏流程,其中用户连续经历 6 个 fragments
。现在增加了一些复杂性。每个fragment
都可能到达每个fragment
。这取决于玩家的回答......
好消息是,不需要backstack。 IE。一旦进入fragment
,我就无法回去。
无论如何,我现在可以通过 fragment
和 fragment
将任何 nav_graph
连接到 xml
中的任何 <action>
。但是,这使我的 nav_graph
非常混乱,而且我有很多多余的导航代码。此外,该解决方案的扩展非常困难。如果我突然有 10 个 fragments
,我该怎么办?
我想写一个像 goToNextFragment
这样的函数,例如,它可以位于关联的 Activity
中。因此,如果需要,每个 fragment
都可以调用 activity.goToNextFragment()
并相应地执行导航。不幸的是,我找不到一种方法来做到这一点。我当然可以将 fragment
上的新 nav_graph
初始化为 host
。但这对我来说似乎很奇怪,可能会中断过渡。
有没有人有可以帮助我的想法?
答案 0 :(得分:2)
我认为全球行动可以帮助解决您的问题。 您可以将它们与导航图中的片段放在同一级别。 至少导航图会不那么杂乱
示例:
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
<fragment
android:id="@+id/coolFragment"
...
/>
<action
android:id="@+id/coolFragmentAction"
app:destination="@id/coolFragment" />
</navigation>
您可以在此处阅读更多相关信息: https://developer.android.com/guide/navigation/navigation-global-action