Jetpack Navigation:任何片段都应该能够导航到任何片段
Jetpack Navigation: Any fragment should be able to navigate to any fragment
我有一个游戏流程,其中用户连续经历 6 fragments
。现在增加了一些复杂性。有可能每个fragment
都能被每个fragment
到达。这取决于玩家的回答...
好处是不需要backstack。 IE。一旦进入 fragment
,我就无法返回。
无论如何,我现在可以通过 xml
和 <action>
将任何 fragment
连接到 nav_graph
中的任何 fragment
。然而,这让我的 nav_graph
非常混乱,我有很多冗余的导航代码。此外,该解决方案的扩展非常困难。突然有10个了怎么办fragments
?
我想写一个像goToNextFragment
这样的函数,它可以位于关联的Activity
中。因此,如果需要,每个 fragment
都可以调用 activity.goToNextFragment()
并相应地执行导航。不幸的是,我找不到执行此操作的方法。我当然可以将 nav_graph
上的新 fragment
初始化为 host
。但这对我来说似乎很奇怪,可能会破坏过渡。
有没有人有想法可以帮助我?
我认为全球行动可以帮助解决您的问题。
您可以将它们放在与导航图中的片段相同的级别。
至少导航图不会那么混乱
示例:
<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
我有一个游戏流程,其中用户连续经历 6 fragments
。现在增加了一些复杂性。有可能每个fragment
都能被每个fragment
到达。这取决于玩家的回答...
好处是不需要backstack。 IE。一旦进入 fragment
,我就无法返回。
无论如何,我现在可以通过 xml
和 <action>
将任何 fragment
连接到 nav_graph
中的任何 fragment
。然而,这让我的 nav_graph
非常混乱,我有很多冗余的导航代码。此外,该解决方案的扩展非常困难。突然有10个了怎么办fragments
?
我想写一个像goToNextFragment
这样的函数,它可以位于关联的Activity
中。因此,如果需要,每个 fragment
都可以调用 activity.goToNextFragment()
并相应地执行导航。不幸的是,我找不到执行此操作的方法。我当然可以将 nav_graph
上的新 fragment
初始化为 host
。但这对我来说似乎很奇怪,可能会破坏过渡。
有没有人有想法可以帮助我?
我认为全球行动可以帮助解决您的问题。 您可以将它们放在与导航图中的片段相同的级别。 至少导航图不会那么混乱
示例:
<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