首页 > 解决方案 > 未解决对 Koin 的 sharedViewModel() 的引用

问题描述

我试图懒惰sharedViewModel()地注入我的活动。由于某种原因,我的 IDE 无法解析引用。它可以成功解决viewModel()但不能sharedViewModel()。我可以在导入中添加它,但我不能使用它。

在此处输入图像描述

依赖项:

def koin_version = "2.0.1"
implementation "org.koin:koin-android:$koin_version"
implementation "org.koin:koin-androidx-scope:$koin_version"
implementation "org.koin:koin-androidx-viewmodel:$koin_version"

我错过了什么吗?

标签: androidkotlindependency-injectionkoin

解决方案


问题是你试图sharedViewModel()Activity. 根据文件

共享其 ViewModel 的 Activity 通过 viewModel() 或 getViewModel() 将其注入。片段通过 sharedViewModel() 重用共享的 ViewModel。

要验证,您可以检查FragmentExt.kt的源代码并查看它sharedViewModel()Fragment扩展名。所以,而不是override val viewModel: PaymentViewModel by sharedViewModel()你应该使用override val viewModel: PaymentViewModel by viewModel()


推荐阅读