我正在尝试整合所提供的一些功能 here在我的 Kotlin 安卓应用程序中。我可以在我的 ViewModel 中很好地使用 viewModelScope
,尽管这只有在我的 implementation "androidx.fragment:fragment-ktx:1.1.0-alpha09"
中才有效依赖项。
但是,我完全无法使用 this 中突出显示的 liveData
构建器功能部分。尝试在我的 ViewModel 中使用 liveData
时,出现 Unresolved 引用错误。
我尝试了 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"
再次值得一提的是,如果不在依赖项中包含 implementation "androidx.fragment:fragment-ktx:1.1.0-alpha09"
,我就无法使用 viewModelScope
.
非常感谢任何帮助,因为我已经做了一些搜索,但找不到太多,因为这是一个相对较新的版本。谢谢!
最佳答案
所以,看起来像
实现“androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version”
线在这里不起作用,也不起作用
实现“androidx.lifecycle:lifecycle-extensions:$lifecycle_version”
,
我们需要分别声明 ViewModel 和 LiveData 的 kotlin 版本的依赖项。以下是 ViewModel 和 LiveData 的更新依赖部分(请注意也没有 fragment 依赖!)
// 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
构建器函数。
关于android - 无法使用生命周期版本 2.2.0-alpha01 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56262948/