【问题标题】:Unable to use Lifecycle Version 2.2.0-alpha01 features无法使用生命周期版本 2.2.0-alpha01 功能
【发布时间】:2019-05-22 18:31:07
【问题描述】:

我正在尝试将here 提供的一些功能集成到我的 kotlin android 应用程序中。我可以在我的 ViewModel 中使用 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"

再次值得一提的是,如果我的依赖项中不包含implementation "androidx.fragment:fragment-ktx:1.1.0-alpha09",我也不能使用viewModelScope

非常感谢任何帮助,因为我进行了一些搜索,但找不到太多,因为这是一个相对较新的版本。谢谢!

【问题讨论】:

    标签: android android-livedata kotlin-coroutines


    【解决方案1】:

    所以,看起来 implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version" 线在这里不起作用,也不起作用 implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version", 我们需要分别声明 ViewModel 和 LiveData 的 kotlin 版本的依赖关系。以下是 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 构建器功能。

    【讨论】:

      猜你喜欢
      • 2013-01-06
      • 2017-11-29
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2020-05-14
      • 2022-12-14
      • 2021-11-07
      相关资源
      最近更新 更多