Boo*_*hes 1 android dependency-injection kotlin koin
我正在尝试懒惰地注入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"
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
问题是你试图sharedViewModel()在Activity. 根据文档:
共享其 ViewModel 的 Activity 通过 viewModel() 或 getViewModel() 注入它。片段通过 sharedViewModel() 重用共享的 ViewModel。
要验证,您可以检查FragmentExt.kt 的源代码,看到它sharedViewModel()是Fragment扩展。所以,而不是override val viewModel: PaymentViewModel by sharedViewModel()你应该使用override val viewModel: PaymentViewModel by viewModel()
| 归档时间: |
|
| 查看次数: |
1952 次 |
| 最近记录: |