R.java fichier pas la mise à jour de l'INTERFACE utilisateur de l'élément d'id

StackOverflow https://stackoverflow.com/questions/2487263

  •  21-09-2019
  •  | 
  •  

Question

J'ai ajouté certains éléments de l'INTERFACE à l'main.xml fichier dans le res\mise en page de dossier et quand je tente d'y accéder par le biais de l'appel, R.layout.my_uielement, l'élément d'INTERFACE utilisateur que j'ai créé n'est pas là.Même quand j'ajoute un nouveau fichier xml avec les éléments de l'INTERFACE utilisateur, il napparaît pas dans le R.layout classe.J'ai fait vérifié les id sur eux et ils ont le bon format (je pense): android:id="@+id/my_button".Quel pourrait être le problème?Ai-je besoin pour compiler le code en premier?
Mise à JOUR:
J'ai déjà essayé adb kill-server alors adb start-server.Il ne semble pas aider.J'ai aussi essayé R.id.my_uielement, il n'est pas de vous inscrire.

Était-ce utile?

La solution

Cela peut ne pas être le cas pour vous, mais parfois, quand j'ai quelque chose de l'utilisation de l'android.Package R (android par défaut de ressources) et je l'utilise dans ma classe avant de faire référence à quoi que ce soit de ma propre trousse de ressources, Eclipse ajoute l' import android.R; relevé dans mon importations.Ce sera en conflit avec le comportement par défaut de implicitement à la recherche dans votre paquet de ressources.

Vérifier vos déclarations d'importation pour import Android.R;.Si il y est, le supprimer.Et, si vous utilisez quelque chose de android.R, qualifier complètement lorsque vous l'utilisez dans le code.

Autres conseils

Nettoyage de projet fonctionne bien.Dans Eclipse, si vous venez de changer certains composants xml, il n'est pas toujours générer un nouveau R de fichier.Nettoyage t-il.

Utilisez R. id.your_ui_element, pas R. layout.your_element

J'ai été confronté à ce problème aussi.L'R.java n'était ni généré, ni mises à jour.

Si R.java n'est pas généré lorsque vous créez le projet, l'exécution de votre "vide" du projet.Un R.java avec des références à des ressources seront générées automatiquement.

Si R.java n'est pas prise en mise à jour, Vérifier les mises à jour dans le menu Aide -> Vérifier les Mises à jour dans Eclipse, et de mettre à jour votre kit de développement et ADT si nécessaire.

Après 2 jours, j'ai trouvé un moyen pour résoudre ce problème...

Je lui avais sauvé la moitié de la réussite du projet dans mon mail, donc quand R.java disparu je viens de remplacer la vieille R.java fichier, cette correction d'un grand nombre d'erreurs, puis faites les changements nécessaires et construit le projet(build-il pas propre)...je ne sais pas si propre et construire effectue le même travail ou pas..mais chaque fois que j'ai nettoyé , R.java utilisé pour aller invisible...

Nettoyer fonctionne parce qu'il s' CONSTRUIRE le projet après le nettoyage.Le problème est donc ( au moins, il était dans mon cas, parce que j'ai éteint la construction Automatique en quelques jours auparavant ) après que vous ajoutez un élément ou quoi que ce soit dans une .fichier xml, eclipse ne construit pas et ne peut pas l'actualisation de la R.java .

J'ai remarqué que mon R.java le fichier n'est pas toujours correctement mis à jour lorsque je ajouter des articles à mon strings.xml fichier ou ailleurs.Si j'utilise une nouvelle valeur, j'ai ajouté comme R. string.newString la réelle valeur de nombre entier peut toujours pointer vers R. string.oldString ou quoi (il semble généralement être l'élément directement au-dessus ou au-dessous de l'élément nouveau dans strings.xml mais je n'ai pas trouvé le modèle pour encore sûr).

Vous n'êtes pas censé modifier la R.java fichier, mais il ne dit rien à propos de la suppression (pas que j'en ai vu, de toute façon).J'ai trouvé que la suppression de R.java corrige généralement mes ressources liées à des problèmes en raison de l'Éclipse immédiatement régénère le fichier avec les valeurs entières correctement attribué.

Veuillez noter que je suis très débutant à Eclipse, donc je ne peut pas comprendre les conséquences de la suppression de R.java mais il semble bien fonctionner pour moi jusqu'à présent.Si ce que je fais est très mauvais, s'il vous plaît laissez-moi savoir.

Aucun de ces fonctionné pour moi!La seule façon que je peux accéder à un @+id/foo est par myPackage.R.id.foo.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top