我正在尝试在我的kotlin android应用程序中集成here中介绍的某些功能。我可以在ViewModels中使用viewModelScope
罚款,尽管这仅在将implementation "androidx.fragment:fragment-ktx:1.1.0-alpha09"
包括在我的依赖项中时有效。
但是,我完全无法使用this部分中突出显示的liveData
构建器功能。尝试在ViewModel中使用liveData
时,出现未解决的引用错误。
我已经尝试在this线程中解决问题,但这并不能解决我的问题。
这是我的build.gradle文件的相关部分,其中包含与ViewModel和LiveData相关的所有依赖项。
def lifecycle_version = "2.2.0-alpha01"
// ViewModel and LiveData
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha01"
implementation "androidx.fragment:fragment-ktx:1.1.0-alpha09"
再次值得一提的是,在依赖项中不包含viewModelScope
的情况下,我也无法使用implementation "androidx.fragment:fragment-ktx:1.1.0-alpha09"
。
由于我做了一些搜索,但是找不到很多帮助,因此非常感谢,因为这是一个相对较新的版本。谢谢!
答案 0 :(得分:0)
因此,似乎
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
线在这里行不通
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
,
并且我们需要分别声明Kotlin版本的ViewModel和LiveData的依赖关系。以下是ViewModel和LiveData的更新的依赖项部分(请注意也没有片段依赖项!)
// ViewModel and LiveData
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha01"
kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
通过上述内容,我现在可以使用问题帖中提到的viewModelScope
和liveData
构建器函数。