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