我正在使用导航组件在片段之间导航。 A是startDestination,B是起始片段。从A我可以到达B,从B我可以到达C,D,E等。我向片段B添加了全局操作。由于开始目标是A,因此它在应用程序启动时启动。我正在使用全局操作来使B片段从A导航到B,但我不希望该片段在Backstack上,但是当我从B按下时A会出现。
这是对B采取的全球行动:
<action
android:id="@+id/action_global_to_B"
app:destination="@id/B"
app:popUpTo="@id/B"
app:popUpToInclusive="true"/>
所以您可以看到我对全局操作都做了popUpTo和popUpToInclusive。但是我仍然看到片段A仍在堆栈中。
然后我尝试了这个:
<fragment
android:id="@+id/A"
android:name="com.xx.A"
android:label="A" >
<action
android:id="@+id/action_A_to_B"
app:destination="@id/B"
app:popUpTo="@id/B"
app:popUpToInclusive="true"/>
</fragment>
还是同样的问题。
答案 0 :(得分:0)
这样做:
<fragment android:id="@+id/A"
android:name="com.xx.A"
android:label="A">
<action
android:id="@+id/action_A_to_B"
app:destination="@id/B"
app:popUpTo="@id/A"
app:popUpToInclusive="true"/>
</fragment>