清除共享视图模型

sol*_*aza 10 android kotlin android-viewmodel koin android-jetpack

我正在使用 Koin 将 viewModel 注入片段。我的应用程序是单一活动。我只需要在 servisFragment 和 partFragment 中使用 sharedViewModel。我想在用红色标记的导航后从 Activity 中清除该 viewModel。

我怎样才能做到这一点?

导航

注入viewModel的代码

    private val servisViewModel by sharedViewModel<ServisViewModel>()
Run Code Online (Sandbox Code Playgroud)

Koin 共享视图模型

inline fun <reified T : ViewModel> Fragment.sharedViewModel(
    name: String? = null,
    noinline from: ViewModelStoreOwnerDefinition = { activity as 
    ViewModelStoreOwner },
    noinline parameters: ParametersDefinition? = null
) = lazy { getSharedViewModel<T>(name, from, parameters) }
Run Code Online (Sandbox Code Playgroud)

感谢您的任何帮助。

Hay*_*yan 4

如果您需要清除所有viewModels内容,Fragment请在您的Fragment

viewModelStore.clear()
Run Code Online (Sandbox Code Playgroud)

如果你需要清理混凝土ViewModel 试试这个

getViewModelStore(ViewModelParameters(...)).clear()
Run Code Online (Sandbox Code Playgroud)