OK, Je travaille sur une nouvelle application et tout a fonctionné bien tant que j'ai utilisé une vue relative. Cependant, je veux une mise en page à onglets, alors j'ai changé ce que j'avais (peu loin depuis que je viens de le faire lire à partir d'un DB et de paramètres de travail) à une vue à onglets. Depuis ce temps, toute classe qui a une déclaration R. dans elle a une erreur "R ne peut pas être résolue". Je suis le tutoriel du tutoriel Android "Hello Vues", donc je suppose que ce n'est pas la question (mais cela pourrait toujours être). P>
10 Réponses :
J'ai quelques suggestions: p>
Assurez-vous de ne pas avoir d'autres erreurs autres que les erreurs liées à R. Cliquez avec le bouton droit sur votre dossier de projet dans Eclipse, Android Tools -> Correction des propriétés du projet. P> LI>
Vérifiez que vous avez le correct importé. Parfois, l'Android.R par défaut peut être importé. P> li>
Vérifiez les erreurs dans vos fichiers XML de mise en page. P> LI> ol>
Découvert que j'avais un personnage manquant dans mon fichier Res / mise en page / Main.xml.
+1 pour éliminer d'abord les erreurs non liées à R. Je ne l'ai toujours pas tout à fait compris, mais j'avais des erreurs non liées à la R dans un projet différent et je ne comprends pas comment ils ont interagi - mais éliminant ces erreurs d'abord rendu les erreurs r disparaissent. Allez comprendre.
Si vous utilisez Eclipse, essayez de lui donner un coup de pied en faisant un projet / propre et réédité votre projet. Il a parfois des problèmes aléatoires avec la classe de classe sur des projets Android. P>
Vous devez vous assurer d'importer R. Si votre colis principal est com.example, essayez d'importer «com.example.r» en haut de vos fichiers. Pour une raison quelconque, Eclipse ne le fait pas pour vous. P>
Vous n'avez pas besoin de "importer r", et vous ne devriez pas faire cela. Le problème est que R n'est pas compilé à cause d'une erreur (ou simplement des éléments randomisés pouvant être fixés par le nettoyage).
Lorsque j'ai une activité dans un emballage séparé que mon activité de lancement, j'ai besoin de "importer R", sinon mon projet me donne une erreur. J'ai essayé de nettoyer et de reconstruire.
Vous ne voulez pas importer Android.R mais vous souhaitez importer le R qui fait partie de votre projet.
Non, vous ne voulez pas importer de r comme indiqué plus poussé, parfois Eclipse apparaît avec la mauvaise classe de classe, et il provoquera de dériver de l'android.r au lieu de votre mode de nettoyage. Nettoyage et redémarrage (et en utilisant occasionnellement Autocomplète pour vous assurer qu'il utilise votre voyageur.r au lieu d'Android.R) sont les solutions. Encore une fois, R est (devrait être) construit dans le cadre de votre projet et ne doit pas être importé.
Quand je n'importe pas R à partir de com.mypackage.r, j'ai une erreur. Est-ce parce que mon activité de lancement est dans un paquet séparé?
Je ne sais pas. Si le redémarrage et le nettoyage et la correction du projet, etc. ne fonctionnent probablement pas une erreur. Il n'a rien à voir avec R Any: Vous trouverez une erreur dans votre code utilisé pour générer R, et il n'est donc pas généré. Et s'il n'est pas généré, il n'est pas trouvé. Rechercher des problèmes non "r".
Mon projet ne fonctionne pas si je n'importe pas R pour rien en dehors du paquet avec mon activité de lancement.
@zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz Si vous avez divisé votre application en paquets de sorte que l'activité / tout ce qui est dans un emballage différent de votre « dossier de demande », vous devez importer R. de votre projet S'il est dans le même paquet, vous ne devriez pas importer ce.
@Dan voulait dire vous taguer dans le commentaire précédent, mais n'autorise donc qu'un à la fois
Si quelque chose dans votre répertoire "res" est nommé à l'aide de caractères illégaux, cela peut arriver. P>
Notez que Android permet uniquement aux lettres minuscules (pas de capitales !!!), chiffres et le soulignement. C'est tout! P>
Presque tous les systèmes d'exploitation permettent à d'autres caractères, de déplacer un fichier dans votre répertoire "res" peut facilement créer ce problème. p>
correction? Renommer le fichier. Ceci est fait en cliquant avec le bouton droit de la souris sur le fichier dans votre package ou votre explorateur de projet et en sélectionnant Refactor-> Renommer. Vous devrez peut-être nettoyer votre projet après, mais méfiez-vous de «Importation Android.R» redoutée qui peut se glisser. P>
bonne chance! -Scott p>
Avec les grandes suggestions dans les réponses précédentes, assurez-vous que votre objectif Android est défini: P>
Edit: Un an plus tard, j'ai trouvé une autre cause. J'ai eu une image .jpg dans mon dossier dessinable avec le même nom que l'image .png. Référencement de cette image dans mon code doit avoir confondu le programme et il a donné l'erreur "R ne peut pas être résolue". P>
J'ai aussi eu le problème d'échantillon et cela a fonctionné pour moi.
1.) Vérifiez les erreurs de votre présentation XML. Surtout quand il s'agit de texte et de titres p>
vous devez utiliser p> au lieu de p> .2) Nettoyer votre projet P> .3) Redémarrez Eclipse P> P>
Vérifiez que toutes les chaînes que vous pensez que vous utilisez (E.G. "@ String / Hello_World" existe réellement dans votre fichier Strings.xml. J'ai eu l'erreur de l'OP après avoir déclaré un élément de menu à l'aide de Android: Titre = "@ String / Navigation" Code>, mais je n'avais pas ajouté
Vous devez importer vos propres projets R de classe R plutôt que d'Androids par défaut de classe R, c'est-à-dire.
votre.app.package.r p>
Cela rendra les valeurs définies dans le dossier RES de votre classe. Après cela actualisant puis nettoyez votre projet. P>
Dans mon cas, il a été causé depuis que j'ai refactore mon projet et déplacé des classes dans une structure de dossier. Ces classes ne pouvaient pas trouver le r comme d'habitude, car il repose sur le dossier de la source racine. p>