android - 未解决对 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"
我错过了什么吗?
解决方案
问题是你试图sharedViewModel()
在Activity
. 根据文件:
共享其 ViewModel 的 Activity 通过 viewModel() 或 getViewModel() 将其注入。片段通过 sharedViewModel() 重用共享的 ViewModel。
要验证,您可以检查FragmentExt.kt的源代码并查看它sharedViewModel()
是Fragment
扩展名。所以,而不是override val viewModel: PaymentViewModel by sharedViewModel()
你应该使用override val viewModel: PaymentViewModel by viewModel()
推荐阅读
- npm - 针对不同的环境有不同的 vue 配置
- android - 更改图层列表中的形状渐变起始颜色
- ios - 无法从 pod 库加载资源
- javascript - WebRTC 2路视频无法设置远程应答sdp:在错误状态下调用:kStable
- python - 满足条件时停止在python中读取csv文件
- ruby-on-rails - 本地主机有效,但 Heroku 在使用 active_storage 和 Rails 5.2 上传照片时抛出 500
- android - 从 Android Studio 开始的困难
- .net - 异步单元测试无法返回值
- java - 套接字连接中的 Java 未报告异常
- arduino - 制作软接入点ESP8266并通过labview读取数据