J'expérimente avec des modèles de vue, mais j'ai rencontré une erreur étrange, le compilateur dit qu'il ne reconnaît pas "of". J'ai déjà la dépendance importée dans mon build.gradle et sycned comme si
import android.arch.lifecycle.ViewModelProviders; //private BattleRhythmViewModel battleModel; battleModel = new ViewModelProviders.of(this).get(BattleRhythmViewModel.class);
Je me suis assuré qu'elle est correctement importée dans mon activité et instanciée. Je ne sais pas quoi faire
def ver = "1.1.1" implementation "android.arch.lifecycle:extensions:$ver"
3 Réponses :
Utilisez ViewModelProviders.of(this).get(BattleRhythmViewModel.class)
of
est une méthode statique. Lorsque vous appelez new ViewModelProviders.of (this)
, vous essayez de créer une nouvelle instance de ViewModelProviders
en utilisant le constructeur, mais vous n'avez jamais appelé le constructeur en utilisant ()
.
Assurez-vous que ce
est une instance de activité
ou de fragments
, deuxièmement, mettez à jour le développeur dernière version de la bibliothèque ViewModel
, Troisièmement nouveau
strong> n'est pas nécessaire car vous ne créerez pas d'instance de ViewModel
manuellement, il vous est fourni.
pour ceux dont les autres réponses ne fonctionnent pas pour eux, assurez-vous que vous utilisez ViewModelProviders
au lieu de ViewModelProvider