11
votes

Le fichier de mise en page Android XML n'est pas ajouté à r.java

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

<ImageView
    android:id="@+id/imageNew"
    android:layout_width="50dip"
    android:layout_height="50dip"
    android:src="@drawable/icon"
    android:scaleType="centerCrop"/>




</LinearLayout>
This is my new layout file and it is not being detected by eclipse, nor is it in the R file. I can't create any new layout files or perhaps I'm doing it all wrong. All my older layouts are seen fine.EDIT:Also, a layout I had created previously I have edited with a new ID, however that new id is not detected either.

4 commentaires

Faire un projet propre peut être ou redémarrer Eclipse.


haha, quelle solution simple. Poster comme une réponse et je vais vérifier :)


Stackoverflow.com/ Questions / 9170827 / ... au lieu d'Android.R Il suffit d'utiliser r ...


J'ai eu des erreurs concernant une carte d'identité non reconnue et cela n'a pas fonctionné après le nettoyage du projet (il y avait alors des erreurs concernant R ayant besoin d'une importation). Il y a eu un fichier texte dans le dossier dessinable avec un espace dans son nom de fichier ; Après avoir retiré l'espace, cela fonctionnait bien.


17 Réponses :


30
votes

Nettoyez votre projet ou redémarrez l'éclipse, je suppose que c'est le problème du bâtiment automatique Eclipse.


1 commentaires

Vérifiez également si Build automatiquement est sélectionné sous Project-> Créer automatiquement



1
votes

Si quelque chose est faux dans vos mises en page, de nouvelles mises à jour ne sont pas ajoutées au fichier R. Regardez le panneau d'erreurs et éventuellement à une reconstruction propre pour voir quelles erreurs apparaissent.

Votre mise en page XML va bien. Le fichier lui-même peut avoir un nom incompatible.


0 commentaires

21
votes

Regardez les importations, le R importé peut-être n'est pas correct.


0 commentaires

0
votes

Probablement un problème dans un nom XML un fichier. Le nom ne doit pas contenir de symboles majuscules.


0 commentaires

16
votes

J'ai cette importation xxx

j'ai supprimé cela et la mise en page fonctionne à nouveau


4 commentaires

merci cela aide .. mais pourquoi cela s'est passé? pouvez-vous s'il vous plaît expliquer


Cela m'arrive parce que j'utilise Maj + Command + O cerveau


Toujours en 2019, tue une heure pour moi à chaque fois


Oct 2020 Enregistrement. J'ai sauté environ cinq capillaires essayant de comprendre ce qui ne va pas avec mon code. Cela la corrige



0
votes

Dans mon cas, l'IDE (Eclipse) a ajouté le Importer android.r à nouveau et à nouveau. J'ai dû mettre à jour mon SDK Android pour faire ça disparaître.


0 commentaires

0
votes

J'ai eu le même problème et je résous la renommation du fichier XML avec des symboles minuscules.


0 commentaires

0
votes

J'ai eu ce même problème et l'a corrigé en ajoutant xxx

sous xxx


0 commentaires

1
votes

J'ai eu le même problème. J'ai pris les conseils de Eclipse et supprimé xxx

et remplacé toutes les références à r avec le nom complet [package spécifique au projet] .r Étant donné que le fichier R était en train d'être généré sous certains packages, et la valeur par défaut ne contenait rien d'intérêt.

Vous pouvez vérifier le nom du package en regardant dans le dossier général.


0 commentaires

0
votes

Dans mon cas, j'ai découvert que lorsque je viens de commencer le projet, j'ai renommé le paquet, mais la fonction de refactage n'a pas plongé le nom du package du code généré ... Renommer ainsi que j'ai corrigé le missmatch.


0 commentaires

0
votes

Cela peut être un problème de construction automatique avec Eclipse. Donc, même si vous supprimez Android.R et nettoyez-la, le problème peut ne pas disparaître. Et empêcher les fichiers R.java d'être créés dans le dossier général

  1. Supprimer Importer Android.R (le r référé doit être votre package r pas l'android.r)
  2. Assurez-vous que le projet est libre d'une erreur pour une construction réussie. Vous pouvez commenter une erreur d'erreur de lancer des références à R dans le projet (si au pire des cas, commencez toutes les références).
  3. Nettoyez le projet

  4. Cela devrait éliminer toutes les références périmées et faire une nouvelle compilation. Une fois que le R.java est généré. Définissez toutes les références. Maintenant, la mise en page et d'autres références qui ne sont pas reconnues précédemment devraient résoudre


0 commentaires

1
votes

Mon environnement de développement: [MacBook Pro, Eclipse: 4.4.0]

J'ai essayé tout ce qui précède, mais pas de suite.

Son résolu dans les étapes suivantes:

STEP-1) Commentaire sur Importer Android.R; Ou, Retirez-le complet.

step-2) importer packagename.r;

ou,

importer com.arundhwaj.augmented_reality.r;

J'espère que ça aident quelqu'un.


0 commentaires

0
votes

j'ai changé {Android: SRC = "@ Ditable / MyApp"} à {Android: src = "@ drakable / myApp"} dans ma licyout.xml alors je pourrais sélectionner r.layout.mylayout dans maadactivité.java

Les lettres majuscules ne sont pas autorisées.


0 commentaires

0
votes

Si vous faites face au même problème, il suffit de "nettoyer" le projet de fonctionner.


0 commentaires

0
votes

au lieu d'utiliser android.r.layout. utilisation R.layout.new_layout_file xxx


0 commentaires

0
votes

Une autre raison pour laquelle cela peut arriver. Si, par exemple, vous ajoutez un nouveau module et vous lui donnez un nom de package existant, vous obtiendrez des fichiers de classe BuildConfig.java en double. La tâche MergegexReSrelease et MergegexDebugggugggugggg n'aimera pas et échoue avec une erreur "Type de programme déjà présent" suivi du nom de la classe en double.

Si vous ne remarquez pas l'erreur, vous verrez des choses comme R.ID.Yourlayout ou R.Drawable.Vous ne sont pas définis dans votre application. Des ressources ironiquement des cordes peuvent encore être trouvées. La correction consiste à modifier le nom du paquet dans l'un des modules avec le nom duplicate.

Si vous souhaitez trouver les emplacements des classes duplicataires dans Android Studio, utilisez "Navigate / Classe ..." et entrez le nom de la classe duplicate. Vous devrez peut-être vérifier les éléments «Inclure les éléments non-projets»


0 commentaires

0
votes

Dans mon cas, je vous ai juste collé le fichier XML manquant dans le même dossier de mise en page avec un nom différent avec un nom différent et un identifiant soudain a commencé à figurer dans R. Je suppose qu'il doit y avoir un problème temporaire dans la génération de R. BTW, j'utilisais du produit. Les saveurs pas sûres si cela correspondait quelque chose.


0 commentaires