Я пытаюсь использовать новую функцию viewModelScope(), предоставляемую новой библиотекой Android KTX.

В файле Gradle я добавил:

implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.0.0'
implementation 'androidx.core:core-ktx:1.0.2'

Но когда я связался с viewModelScope(), я получил ошибку Unresolved reference: viewModelScope:

class MainViewModel(application: Application): AndroidViewModel(application) {

    fun fetchData(){
        viewModelScope.launch{

        }
    }
}

Я не понимаю, в чем проблема. Любая идея? Спасибо.

4
Toni Joe 28 Май 2019 в 20:10

2 ответа

Лучший ответ

Ознакомьтесь с примечаниями к выпуску https://developer.android.com/jetpack/androidx/releases / Жизненный цикл # declaring_dependencies

viewModelScope доступен из v2.1.x

Так что вам нужно добавить свою версию в файл Gradle.

6
veritas1 28 Май 2019 в 17:28

Я использую в своем проекте 2.1.0-beta01 :

implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0-beta01" 

Это меньше версии, чем выпущено на официальном сайте .
Однако я использую его, потому что новая версия 2.2.0-alpha01 все еще имеет ошибку Unresolved reference: viewModelScope - Android KTX.

2
V.March 26 Июн 2019 в 11:11