无法使用Lifecycle 2.2.0-alpha01版功能

时间:2019-05-22 18:31:08

标签: android android-livedata kotlin-coroutines

我正在尝试在我的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"

由于我做了一些搜索,但是找不到很多帮助,因此非常感谢,因为这是一个相对较新的版本。谢谢!

1 个答案:

答案 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"

通过上述内容,我现在可以使用问题帖中提到的viewModelScopeliveData构建器函数。