J'ai deux flux de navigation avec Navigation Architecture Component :

A > B > C

Et

A > X > C

Dans le premier flux, popBackStack() fonctionne comme prévu. Mais je veux un comportement différent dans le deuxième flux. Je ne veux pas revenir au Fragment X mais directement au Fragment A.

Étant donné que le Fragment C est accessible de plusieurs manières, je ne peux pas utiliser un destinationId fixe dans popBackStack(destinationId,inclusive).

Toute solution ? Peut-être la config de direction de navigation ?

0
A. Ferrand 30 oct. 2020 à 14:15

1 réponse

Meilleure réponse

Utilisez cette action pour x à c.

<fragment
android:id="@+id/x"
...
>
 <action
            android:id="@+id/action_X_to_C"
            app:destination="@id/C"
            app:popUpTo="@id/A" >
        </action>
</fragment>

Dans fragmentX

findNavController().navigate(R.id.action_x_to_C)
2
gowtham6672 3 nov. 2020 à 05:19