Я использую библиотеку Android Navigation для навигации по фрагментам и пытаюсь передать данные из второго фрагмента в первый. Сделайте это с помощью следующего кода:
findNavController().setGraph(R.navigation.nav_graph, bundle)
findNavController().popBackStack()
Работает нормально, но когда я пытаюсь открыть тот же экран после него, возникает следующая ошибка:
java.lang.IllegalArgumentException: navigation destination com.leshchenko.test:id/openPurchaseDetailsAction is unknown to this NavController
Спасибо.
ОБНОВЛЕНИЕ: Мой nav_graph.xml
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nav_graph"
app:startDestination="@id/purchasesListFragment">
<fragment
android:id="@+id/purchasesListFragment"
android:name="com.leshchenko.finance.presentation.purchases.PurchasesListFragment"
android:label="fragment_purchases_list"
tools:layout="@layout/fragment_purchases_list">
<action
android:id="@+id/openPurchaseDetailsAction"
app:destination="@+id/purchaseDetailsFragment">
<argument
android:name="purchaseId"
android:defaultValue="-1L"
app:argType="long" />
</action>
</fragment>
<fragment
android:id="@+id/purchaseDetailsFragment"
android:name="com.leshchenko.finance.presentation.purchase_details.PurchaseDetailsFragment"
android:label="fragment_purchase_details"
tools:layout="@layout/fragment_purchase_details">
<argument
android:name="purchaseId"
android:defaultValue="-1L"
app:argType="long" />
</fragment>
Подробности открываются через:
findNavController().navigate(PurchasesListFragmentDirections.openPurchaseDetailsAction())