Je travaille sur Android Composant d'architecture ViewModel mais j'obtiens l'erreur mentionnée ci-dessus lorsque j'essaie d'initialiser un ViewModel dans une AppCompatActivity.
import Android.Arch.lifecycle.ViewModelProviders;
ViewModelProviders.of(this).get(CounterViewModel.class);
Il y a quelques questions et articles à ce sujet, et ils ont pointé vers l'ajout du lifecycle:extensions
et lifecycle:viewmodel
dépendances dans le fichier gradle de l'application, mais j'obtiens toujours l'erreur.
implementation "Android.Arch.lifecycle:extensions:1.1.1"
implementation "Android.Arch.lifecycle:viewmodel:1.1.1"
annotationProcessor "Android.Arch.lifecycle:compiler:1.1.1"
Le package Android.Arch.lifecycle ne contient pas la classe ViewModelProviders
et il n'a que la classe ViewModelProvider
.
Quoi d'autre doit être ajouté pour accéder à la classe ViewModelProviders
?
Éditer :
Dépendances dans 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"
}
Vous n'avez pas besoin des deux lifecycle:extensions
et lifecycle:viewmodel
dans votre fichier build.gradle, supprimez
implementation "Android.Arch.lifecycle:viewmodel:1.1.1"
et ça devrait aller maintenant. En outre, vous souhaiterez peut-être migrer vers AndroidX et utiliser les versions 2.0.0 de la bibliothèque.
Si vous configurez dans libary, vous pouvez modifier le implementation
en api