2
votes

Échec de l'instanciation de ViewModelProviders car "of" ne peut pas être résolu

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" 


0 commentaires

3 Réponses :


2
votes

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 () .


0 commentaires

0
votes

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 n'est pas nécessaire car vous ne créerez pas d'instance de ViewModel manuellement, il vous est fourni.


0 commentaires

0
votes

pour ceux dont les autres réponses ne fonctionnent pas pour eux, assurez-vous que vous utilisez ViewModelProviders au lieu de ViewModelProvider


0 commentaires