web-dev-qa-db-fra.com

Impossible de résoudre le symbole ViewModelProviders

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"
}

enter image description here

6
ashwin mahajan

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.

2
E-max

Si vous configurez dans libary, vous pouvez modifier le implementation en api

0
lyy