Android ViewModelアーキテクチャコンポーネントに取り組んでいますが、AppCompatActivityでViewModelを初期化しようとすると、上記のエラーが発生します。
import Android.Arch.lifecycle.ViewModelProviders;
ViewModelProviders.of(this).get(CounterViewModel.class);
これに関連するいくつかの質問と記事があり、それらはlifecycle:extensions
およびlifecycle:viewmodel
アプリグラドルファイルの依存関係ですが、それでもエラーが発生します。
implementation "Android.Arch.lifecycle:extensions:1.1.1"
implementation "Android.Arch.lifecycle:viewmodel:1.1.1"
annotationProcessor "Android.Arch.lifecycle:compiler:1.1.1"
パッケージAndroid.Arch.lifecycleにはクラスViewModelProviders
が含まれず、ViewModelProvider
クラスのみが含まれます。
ViewModelProviders
クラスにアクセスするには、他に何を追加する必要がありますか?
編集:
App/build.gradleの依存関係:
dependencies {
implementation project(':lifecycle')
implementation project(':base')
implementation "Android.Arch.lifecycle:extensions:1.1.1"
implementation "Android.Arch.lifecycle:viewmodel:1.1.1"
annotationProcessor "Android.Arch.lifecycle:compiler:1.1.1"
}
両方必要ありませんlifecycle:extensions
およびlifecycle:viewmodel
build.gradleファイルで、削除
implementation "Android.Arch.lifecycle:viewmodel:1.1.1"
そして今それは大丈夫です。また、AndroidXに移行してライブラリの2.0.0バージョンを使用することもできます。
ライブラリで設定している場合は、implementation
をapi
に変更できます