私は1つのnav_graphを使用しており、fragment1があり、サブnavグラフである他のフラグメントに移動し、いくつかのフラグメント(fragment3とfragment4)があり、開始先がfragment3で、fragment3からfragment4に行くようなシナリオがありますfragment4 には「DONE」ボタンがあります。
シナリオは次のとおりです。
- このサブナビゲーショングラフをfragment1から呼び出しており、fragment4からリダイレクトしたいのは親、つまりfragment1です
- このサブナビゲーショングラフをfragment2から呼び出しており、fragment4からリダイレクトしたいのは親、つまりfragment2です
これは、fragment4 内で完了ボタン クリック イベントを処理する方法です。
findNavController().currentDestination?.parent?.startDestination?.let {
findNavController().popBackStack(it, true)
}
しかし、それは親にリダイレクトされていません。サブグラフの統計の宛先、つまりfragment3にリダイレクトされています
これが私のnav_graphがどのように見えるかです:
以下に 2 つのフラグメントを示します。
<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>
私は何が欠けていますか?どうすればこれを達成できますか?