NoSuchFieldError: Kein statisches Feld listView1 vom Typ I in der Klasse Lcom / disdemo / R $ id; oder seine Oberklassen

88

Ich habe Modul1 (in Android Studio) mit listView1 in activity_main.xml(in res des Moduls1 vorhanden). Die Hauptaktivität dieses Moduls wird von einem anderen Modul2 im selben Android Studio-Projekt gestartet.

Ich habe versucht, das Modul1 zu löschen und erneut ein neues mit denselben Res- und Java-Dateien zu erstellen. Trotzdem bekomme ich das gleiche Problem.

Komal Gupta
quelle
Ich habe das Modul in settings.gradle und build.gradle
Komal Gupta
14
Ich hatte das Layout activity_main.xml auch in einem meiner anderen Module, daher wurde dieser NoSuchField-Fehler angezeigt. Ich habe das Layout in einem meiner Module umbenannt und es hat funktioniert.
Komal Gupta
Ich wünschte, ich hätte Ihren Kommentar vor 48 Stunden gelesen. Ich hatte seit 2 Tagen Probleme mit diesem Problem!
Mani
2
Mein Fall war etwas anders, da ich eine String-Ressource von einem Modul in ein anderes verschoben hatte. In meinem Fall musste ich nur in Android Studio auf Erstellen> Bereinigen klicken, um das Problem zu beheben.
Tony Wickham
Ja, für Sie war es kein Problem mit doppelten Ressourcendateien, also funktionierte sauber -> Build.
Komal Gupta

Antworten:

200

Ich denke, Sie haben sowohl in der Bibliothek als auch im Modul ein Layout mit demselben Namen oder mehrere XML-Layouts mit doppelter Ressourcen-ID.

JosephM
quelle
4
Ja, genau das war der Fall. Ich habe es bald herausgefunden, aber es ist traurig, dass viel Zeit damit verschwendet wurde, da die Fehlermeldung nicht intuitiv genug war. Android Studio sollte mit der Protokollierung umfassenderer Fehlermeldungen beginnen.
Komal Gupta
6
klingt gut! Jetzt sollten Sie es als genehmigt markieren, damit dies einem anderen helfen kann, diese Art von Problem zu lösen.
JosephM
1
Wenn Sie den Refactor-Rename von AS verwenden, werden alle Vorkommen von z. B. activity_main.xmlbesser von Hand umbenannt.
serv-inc
Ich habe diesen Fehler aufgrund von zwei Layouts mit demselben Namen in App und Modul erhalten. Vielen Dank!
Sandeep Yohans
30

In beiden Modulen haben Sie eine activity_main.xml. Bitte benennen Sie eine Datei um.

Update: Was @kundan kamal ausdrücken möchte, ist, dass Sie in beiden Modulen eine Layoutdatei mit einem ähnlichen Namen haben.

Kundan Kamal
quelle
2
Dies verschwendet um 3 Stunden :(. Sie retten meinen Tag
karthik kolanji
8

Sie haben mehrere Module verwendet und geben den gleichen Namen für jedes XML-Layout an. Geben Sie dann diesen Fehler ein. Benennen Sie daher Ihr XML-Layout um.

user7176550
quelle
Vielen Dank. Es hat geholfen
Vigneswaran A
0

Diese Art von Fehler ist mir einmal passiert, aber mit einer stringRessource. Ich hatte die Zeichenfolge in einer Übersetzungsdatei konfiguriert, aber nicht in der Standard-Zeichenfolgendatei, sodass dies zum Absturz führte.

blastervla
quelle
0

Machen Sie mich richtig Wenn ich mich nicht irre ... Ich denke, Sie haben den gleichen Namen Ihrer Bibliothek und Ihres Moduls in Ihrem Projekt, also müssen Sie eine davon umbenennen, dann funktioniert es einwandfrei

Mannu Saraswat
quelle