popUpTo & popUpToInclusive неработающие компоненты навигации Android

Я использую компоненты навигации для навигации между фрагментами. A - это startDestination, а B - домашний фрагмент. Из A я могу попасть в B, а из B - в C, D, E и так далее. Я добавил глобальное действие к фрагменту B. Поскольку начальная точка назначения - A, оно запускается при запуске приложения. Я использую глобальное действие для фрагмента B для перехода от A к B, и я не хочу, чтобы фрагмент находился в backstack, но A появляется, когда я нажимаю обратно из B.

Вот глобальное действие над B:

<action
    android:id="@+id/action_global_to_B"
    app:destination="@id/B"
    app:popUpTo="@id/B"
    app:popUpToInclusive="true"/>

Итак, вы можете видеть, что я сделал и popUpTo, и popUpToInclusive для глобального действия. Но я все еще вижу, что фрагмент А все еще в бэкстопе.

А потом я попробовал это:

<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>

По-прежнему та же проблема.


person Raju Pathak    schedule 10.10.2020    source источник


Ответы (1)


Сделай это так:

<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>
person EpicPandaForce    schedule 14.10.2020