【问题标题】:Can't use liveData or viewModelScope.launch无法使用 liveData 或 viewModelScope.launch
【发布时间】:2020-03-27 10:27:21
【问题描述】:

我正在尝试在我的应用程序中将这两个构建器用于协程,但在我的 ViewModel 中我无法导入它们或它们不会弹出。

这些是我的依赖项:

   implementation "androidx.lifecycle:lifecycle-extensions:2.2.0-rc02"

   implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2'

在我的 ViewModel 中

class MainViewModel(): ViewModel() {

init{

  viewModelScope ----> does not work , marked in red
  val data = liveData {} ----> does not work, marked in red
}


}

我用无效的缓存重建、清理和重新启动,但我不能使用它们

【问题讨论】:

    标签: android kotlin mvvm kotlin-coroutines


    【解决方案1】:

    添加 ViewModel ktx 库:

    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx$lifecycle_version"
    

    AndroidX 生命周期 v2.1.0 之后可用

    【讨论】:

    • 我需要导入协程:android 还是仅使用这个协程为 livedata 工作?
    • KTX 是一个支持库,它作为主库的扩展工作,因此,这是互补的,它不能单独工作。要使用 livedata,您必须添加:“androidx.lifecycle:lifecycle-livedata-ktx:$livedata_version”
    【解决方案2】:

    对于实时数据:

    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$livedata_version"
    

    对于 viewModelScope:

    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-17
      • 1970-01-01
      • 2020-03-23
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多