Viewmodel 在共享视图模型中杀死观察活动数据实例的片段

Viewmodel 在共享视图模型中杀死观察活动数据实例的片段,viewmodel,android-livedata,android-architecture-navigation,Viewmodel,Android Livedata,Android Architecture Navigation,我使用共享视图模型,通过观察一个实时数据实例,从整个活动的套接字中获取值,导航组件在片段之间导航,因此出现这样一种情况:我显示一个付款收据值,然后用户单击“付款”。此片段应导航到另一个片段并销毁第一个片段,但实际发生的情况是,由于我观察到的共享视图模型实时数据实例,它仍然处于活动状态,那么,当导航到另一个片段时,如何杀死这个片段实例呢 所以首先我是在旅行状态->付款->谢谢 这是我的导航码 private fun updateTripStatusUI(isPayed: Boolean = fa

我使用共享视图模型,通过观察一个实时数据实例,从整个活动的套接字中获取值,导航组件在片段之间导航,因此出现这样一种情况:我显示一个付款收据值,然后用户单击“付款”。此片段应导航到另一个片段并销毁第一个片段,但实际发生的情况是,由于我观察到的共享视图模型实时数据实例,它仍然处于活动状态,那么,当导航到另一个片段时,如何杀死这个片段实例呢

所以首先我是在旅行状态->付款->谢谢

这是我的导航码

 private fun updateTripStatusUI(isPayed: Boolean = false) {
        if (isPayed) {
           findNavController(R.id.navigationFragment).popBackStack()
           findNavController(R.id.navigationFragment).navigate(
                    TripStatusFragmentDirections.actionTripStatusFragmentToThanksFragment()
                )
        } else
            findNavController(R.id.navigationFragment).navigate(TripStatusFragmentDirections.actionGlobalPaymentFragment())
    }
这是我的图表

<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/trip_graph"
    app:startDestination="@id/tripStatusFragment">


    <fragment
        android:id="@+id/tripStatusFragment"
        android:name="package.TripStatusFragment"
        android:label="fragment_trip_status"
        tools:layout="@layout/fragment_trip_status">
        <action
            android:id="@+id/action_tripStatusFragment_to_thanksFragment"
            app:destination="@id/thanksFragment"
            app:enterAnim="@anim/nav_default_enter_anim"
            app:exitAnim="@anim/nav_default_exit_anim"
            app:popEnterAnim="@anim/popup_enter"
            app:popExitAnim="@anim/popup_exit" />
    </fragment>
    <fragment
        android:id="@+id/paymentFragment"
        android:name="package.PaymentFragment"
        android:label="PaymentFragment"
        tools:layout="@layout/fragment_payment" />
    <fragment
        android:id="@+id/thanksFragment"
        android:name="package.ThanksFragment"
        android:label="ThanksFragment"
        tools:layout="@layout/fragment_thanks" />
    <action
        android:id="@+id/action_global_paymentFragment"
        app:destination="@id/paymentFragment"
        app:enterAnim="@anim/nav_default_enter_anim"
        app:exitAnim="@anim/nav_default_exit_anim"
        app:popEnterAnim="@anim/nav_default_pop_enter_anim"
        app:popExitAnim="@anim/nav_default_pop_exit_anim" />
</navigation>

操作\u tripStatusFragment\u到\u thanksFragment应该是poputo=“somedestination”和popuptInclusive=“true”我再次更新了如何从thanksFragment导航到tripStatusFragment
findNavController().navigate(R.id.tripStatusFragment)