让我们假设我们有3个片段:A,B和C。起点是A。从那里可以导航到B或C。然后可以从B导航到C,反之亦然。像这样:
A-> B-> C-> B-> C或A-> C-> B-> C
<fragment
android:id="@+id/a">
<action
android:id="@+id/a_to_b"
app:destination="@id/b" />
<action
android:id="@+id/a_to_c"
app:destination="@id/c" />
</fragment>
<fragment
android:id="@+id/b">
<action
android:id="@+id/b_to_c"
app:destination="@id/c" />
</fragment>
<fragment
android:id="@+id/c">
<action
android:id="@+id/c_to_b"
app:destination="@id/b" />
</fragment>
导航是通过
完成的Navigation.findNavController(this).navigate(R.id.b_to_c)
显然,每次您从b导航到c或从b导航到c时,导航堆栈都会增加。 我想实现以下行为,而不是在按下后退按钮时循环遍历整个后退堆栈:
A-> B-> C-> B-> C-> B-> C-> 按下后退按钮-> B 按下后退按钮-> A
分别是A-> C-> B-> C-> B-> C-> B 按了后退按钮-> C 按了后退按钮-> A < / p>
我已经玩过“ popUpTo”和“ popUpToInclusive”,但没有成功。 有提示吗?