Я использую один nav_graph, и у меня есть сценарий, например, у меня есть fragment1 и я перехожу к другому фрагменту, который является графом sub nav, и у него есть пара фрагментов (fragment3 и fragment4), а начальная точка назначения - fragment3, а из fragment3 я переход на фрагмент 4, а фрагмент 4 имеет кнопку «ГОТОВО».
Вот сценарий:
- Я вызываю этот граф sub nav из фрагмента 1 и фрагмента 4, который я хочу перенаправить на него. родительский, т.е. фрагмент1
- Я вызываю этот граф 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>
Что мне не хватает? Как мне этого добиться?