对Koin的sharedViewModel()的未解析引用

时间:2019-09-20 12:58:06

标签: android kotlin dependency-injection koin

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

enter image description here

依赖项:

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"

我想念什么吗?

1 个答案:

答案 0 :(得分:2)

问题是您正在尝试在sharedViewModel()中使用Activity。根据{{​​3}}:

  

共享其ViewModel的Activity通过viewModel()或   getViewModel()。片段正在通过重用共享的ViewModel   sharedViewModel()。

要进行验证,您可以检查documentation的源代码,并查看sharedViewModel()Fragment的扩展名。因此,您应该使用override val viewModel: PaymentViewModel by sharedViewModel()

而不是override val viewModel: PaymentViewModel by viewModel()