Android Выйти из суб-навигационного графика - PullRequest
0 голосов
/ 04 августа 2020

Я использую один nav_graph, и у меня есть сценарий, например, у меня есть fragment1 и я перехожу к другому фрагменту, который является графом sub nav, и у него есть пара фрагментов (fragment3 и fragment4), а начальная точка назначения - fragment3, а из fragment3 я переход на фрагмент 4, а фрагмент 4 имеет кнопку «ГОТОВО».

Вот сценарий:

  1. Я вызываю этот граф sub nav из фрагмента 1 и фрагмента 4, который я хочу перенаправить на него. родительский, т.е. фрагмент1
  2. Я вызываю этот граф sub nav из фрагмента2 и из фрагмента4, который я хочу перенаправить на него, является родительским, т.е. фрагмент2

Вот как я обрабатываю нажатие кнопки «Готово» событие внутри fragment4:

findNavController().currentDestination?.parent?.startDestination?.let {
            findNavController().popBackStack(it, true)
        } 

Но оно не перенаправляет на родительский объект, а перенаправляет на место назначения статистики подграфа, т.е. fragment3

Вот как выглядит мой nav_graph:

Вот два фрагмента:

<fragment
        android:id="@+id/fragment1"
        android:name="fragment1"
        android:label="fragment1">

        <action
            android:id="@+id/action_fragment1_to_sub_graph"
            app:destination="@id/sub_graph_id" />
</fragment>

<fragment
        android:id="@+id/fragment2"
        android:name="fragment2"
        android:label="fragment2">

        <action
            android:id="@+id/action_fragment2_to_sub_graph"
            app:destination="@id/sub_graph_id" />
</fragment>

Вот мой график дополнительной навигации:

<navigation
        android:id="@+id/sub_graph_id"
        app:startDestination="@id/fragment3">

        <fragment
            android:id="@+id/fragment3"
            android:name="fragment3"
            android:label="fragment3">
            
            <action
                android:id="@+id/action_fragment3_to_fragment4"
                app:destination="@id/fragment4" />

        </fragment>

        <fragment
            android:id="@+id/fragment4"
            android:name="fragment4"
            android:label="fragment4"/>     
</navigation>

Что мне не хватает? Как мне этого добиться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...