基本的なviewModelにviewModelScopeを追加しようとしましたが、Androidスタジオはそれを認識しません。
私が見つけたいくつかのソリューションでgradleビルドファイルを変更しようとしましたが、何も機能しません。
ここに私のbuild.gradleアプリの抜粋
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0-alpha01"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.2.0-alpha01"
implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha01"
kapt "androidx.lifecycle:lifecycle-compiler:2.2.0-alpha01"
私のviewModelにviewModelScopeを入力すると、Unresolved reference: viewModelScope
。
アーティファクトの最新バージョンについては、 MavenリポジトリAndroid Lifecycle ViewModel Kotlin Extensions を参照してください。
アプリレベルのbuild.gradleファイルに以下を追加します:-
def lifecycle_version = "2.2.0-rc03"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
App/build.gradleファイルの先頭にapply plugin: 'kotlin-kapt'
を追加することを忘れないでください
AndroidXライフサイクルライブラリの2つの異なるバージョンを使用しているようです。
app/build.gradle
することが:
...
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0-alpha01"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.2.0-alpha01"
implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.2.0-alpha01"
kapt "androidx.lifecycle:lifecycle-compiler:2.2.0-alpha01"
...
同じ問題が発生し、インポートしました:"androidx.navigation:navigation-fragment-ktx:2.2.0-rc03" "androidx.lifecycle:lifecycle-livedata-ktx:2.2.0-rc03"
fragment-ktxは実際には関連していないと思いましたが。それを理解するのにしばらくかかりました。それが役に立てば幸い!