如果我有 4 个片段(A、B、C 和 D(,并且我从左到右移动到 D 处结束,我想清除堆栈直到 A。
所以在使用导航图的时候,可能是在C片段的动作下 这样:
<action
android:id="@+id/c"
app:destination="@+id/d"
app:popUpTo="@id/a"
app:popUpToInclusive="true" />
但是当我这样做时,C 片段不会从 backstack 中清除。这意味着当我从 d 单击反压时,c 来了,然后是 a。 请问我该如何解决这个问题?
要实现A->B->C->D
,然后按返回返回A
:
在导航中定义:
<fragment
android:id="@+id/c"
...>
<action
android:id="@+id/action_c_to_d"
app:destination="@id/d"
app:popUpTo="@+id/b"
app:popUpToInclusive="true"/>
</fragment>
并使用:
findNavController().navigate(R.id.action_c_to_d)