NoSuchFieldError: Pas de champ statique listView1 de type I dans la classe Lcom / disdemo / R $ id; ou ses superclasses

88

J'ai module1 (dans Android Studio) avec listView1 dans activity_main.xml(présent en res du module1). La MainActivity de ce module est lancée à partir d'un autre module2 dans le même projet Android Studio.

J'ai essayé de supprimer le module1 et de créer à nouveau un nouveau avec les mêmes fichiers res et java. Je reçois toujours le même problème.

Komal Gupta
la source
J'ai ajouté le module dans settings.gradle et build.gradle
Komal Gupta
14
J'avais également une disposition activity_main.xml dans l'un de mes autres modules, donc j'obtenais cette erreur NoSuchField. J'ai renommé la mise en page dans l'un de mes modules et cela a fonctionné.
Komal Gupta
J'aurais aimé lire votre commentaire il y a 48 heures, je luttais avec ce problème depuis 2 jours !!
Mani
2
Mon cas était un peu différent, car j'avais déplacé une ressource de chaîne d'un module à un autre. Dans mon cas, je devais simplement cliquer sur Construire> Nettoyer dans Android Studio pour résoudre le problème.
Tony Wickham
Oui, pour vous, ce n'était pas un problème de fichier de ressources en double, donc clean -> build a fonctionné.
Komal Gupta

Réponses:

200

Je pense que vous avez une mise en page dans la bibliothèque et le module avec le même nom ou une mise en page XML multiple avec un identifiant de ressource en double.

JosephM
la source
4
Oui, c'était exactement le cas. Je l'ai vite compris, mais ce qui est triste, c'est que beaucoup de temps a été perdu car le message d'erreur n'était pas assez intuitif. Android Studio devrait commencer à enregistrer des messages d'erreur plus complets.
Komal Gupta
6
ça m'a l'air bien! vous devez maintenant le marquer comme approuvé afin que cela puisse aider un autre à résoudre ce type de problème.
JosephM
1
Si vous utilisez refactor-rename d'AS, il renomme toutes les occurrences de, par exemple activity_main.xml, mieux vaut le faire à la main.
serv-inc
J'obtenais cette erreur en raison de deux mises en page avec le même nom dans l'application et le module. Merci!
Sandeep Yohans
30

Dans les deux modules, vous avez un fichier activity_main.xml. Veuillez renommer un fichier.

Mise à jour: Ce que @kundan kamal veut exprimer, c'est que vous avez un fichier de mise en page dans les deux modules avec un nom similaire.

kundan kamal
la source
2
ce gaspillé par 3 heures: (. vous sauvez ma journée
karthik kolanji
8

vous avez utilisé plusieurs modules et donnez le même nom à n'importe quelle mise en page xml, puis donnez cette erreur, veuillez donc renommer votre mise en page xml.

user7176550
la source
Merci. Ça a aidé
Vigneswaran A
0

Ce genre d'erreur m'est arrivé une fois, mais avec une stringressource. J'ai configuré la chaîne dans un fichier de traduction, mais pas dans le fichier de ressources de chaîne par défaut, ce qui a provoqué le crash.

blastervla
la source
0

Corrigez-moi Si je ne me trompe pas ... Je pense que vous avez le même nom de votre bibliothèque et de votre module dans votre projet, vous devez donc renommer l'un d'entre eux, alors ça marche bien

Mannu saraswat
la source