Impossible de résoudre le symbole ViewModelProviders sur AppCompatActivity
Hé, je vais essayer d'obtenir mon ViewModel de travail, mais pas de chance jusqu'à présent.
Android Studio d'erreur s'affiche Cannot resolve symbol 'ViewModelProviders'
.
Toute autre question que j'ai trouvé sur ce sujet a été corriger extends Activity
à extends AppCompatActivity
, mais je suis en étendant le droit un. Pas sûr de ce que je suis en manque...
Mon code est basé sur Cette vidéo sur YouTube
MainActivity.java
public class MainActivity extends AppCompatActivity implements
TileAdapter.TileAdapterOnClickHandler {
private BaseViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//set Toolbar
Toolbar myToolbar = findViewById(R.id.toolbar);
setSupportActionBar(myToolbar);
//initialize viewModel
viewModel = ViewModelProviders.of(this).get(BaseViewModel.class);
BaseViewModel.java
public class BaseViewModel extends ViewModel {
private Movie[] mMovie;
public void init (Movie[] movies){
this.mMovie = movies;
}
public Movie[] getMovie() {
return mMovie;
}
"Impossible de résoudre le symbole" signifie que soit vous n'avez pas le
Vérifiez que vous avez dépendance au pour android.arch.cycle de vie:les extensions dans la construction.gradle
Soit il utilise la bibliothèque et de l'ajout de la dépendance dans gradle fichier de sorte qu'il est capable d'importer les ViewModel ou il a coutume de classe
N'ont pas d'extensions de dépendance. Merci @MuthukrishnanRajendran
import
déclaration, ou que vous faites, mais vous n'avez pas la dépendance dans votre Gradle de l'installation.Vérifiez que vous avez dépendance au pour android.arch.cycle de vie:les extensions dans la construction.gradle
Soit il utilise la bibliothèque et de l'ajout de la dépendance dans gradle fichier de sorte qu'il est capable d'importer les ViewModel ou il a coutume de classe
ViewModel
sous le paquet différent et il est important à partir de làN'ont pas d'extensions de dépendance. Merci @MuthukrishnanRajendran
OriginalL'auteur Sheler | 2018-03-21
Vous devez vous connecter pour publier un commentaire.
Je n'ai pas eu à la fois des dépendances dans mon build, d'où le problème.
Merci @Muthukrishnan Rajendran
developer.android.com/topic/libraries/architecture/...
Signalé un problème: issuetracker.google.com/issues/110573923
Hmm, cette solution n'a toujours pas résolu mon problème. J'ai de la mise en œuvre android.arch.cycle de vie:les extensions:1.1.1 " dans mon application gradle et allprojects { dépôts { google() jcenter() } } Est-il autre chose que les besoins ajoutée?
Je vois ViewModelProvider classe, mais il n'a pas l' .de() la méthode. ViewModelProviders est pas encore défini. Je suis sur un mac, si ce qui compte.
OriginalL'auteur Sheler
Si vous utilisez
androidx
vous avez besoin de ceci:suivez ce lien pour la dernière androidx version developer.android.com/jetpack/androidx/migrate
OriginalL'auteur Babao
Si vous utilisez compilé sdk version 28 ou plus, vous devez seulement ajouter de la seule dépendance au pour obtenir
ViewModel
etLiveData
OriginalL'auteur L-X
Dans la construction.gradle fichier, ajoutez ces lignes dans les dépendances bloc
OriginalL'auteur Sulav Timsina
vous devez ajouter de la bibliothèque dans votre projet de construction.gradle
def lifecycle_version = "2.0.0"
OriginalL'auteur Fatih Çakıroğlu
Utilisation
androix
bibliothèquesChangement
implementation 'com.android.support:appcompat-v7:28.0.0'
à
implementation 'androidx.appcompat:appcompat:1.1.0-alpha03'
Vous pouvez utiliser
OriginalL'auteur Sebastian Duran