2012-10-27 3 views
0

Eclipse + plug-in Android.Impossible de mettre à jour le fichier R.java pour ajouter un nouvel objet?

Modifiez l'exemple de code qui s'exécute correctement.

Lors de la création d'un nouvel objet dans le code existant, erreur:

newObj cannot be resolved or is not a field 

Le premier « suggéré fix » ajoute au fichier R.java. (Je vois aussi que le premier objet original figure dans la liste avec une valeur.)

Cependant, après avoir enregistré le fichier, les écrans IDE:

R.java was modified manually! Reverting to generated version! 

Comment puis-je ajouter ce nouvel objet au code ? Devrais-je juste devancer un nouveau fichier R.java?

Toute aide dans la bonne direction est grandement appréciée?

Please see code here.

Merci.

+1

Affichez également 'main_activity.xml'. – Geobits

+0

@Geobits: s'il vous plaît voir: http://jsfiddle.net/GregMcNulty/CxGsw/4/ –

Répondre

3

Vous ne devez jamais modifier R.java manuellement. Ceci est généré à partir des fichiers xml dans les sous-dossiers de res. Vous devriez regarder dans l'exemple que vous suivez où la déclaration de newObj existe. L'erreur que vous obtenez que newObj ne peut pas être résolu signifie probablement qu'il n'a pas été déclaré. Postez un lien vers l'exemple de code avec lequel vous travaillez et il sera beaucoup plus clair comment résoudre ce problème.

EDIT

Après avoir regardé l'exemple de code lié dans les commentaires, vous manquez l'objet xyplot étant delcared dans votre résolution/mise en page/fichier main_activity.xml. Pour pouvoir utiliser R.id.newObj pour faire référence à une vue dans votre présentation d'activité, elle doit exister en tant que contrôle dans la mise en page. Et la conversion implique que ce contrôle doit être de type XYPlot (entièrement qualifié avec un espace de noms lorsqu'il est utilisé dans des mises en page XML).

EDIT 2

Pour utiliser la méthode findViewById pour résoudre un objet View, il doit être dans le xml de la mise en page. Si vous voulez l'insérer dans votre mise en page dans le code, vous avez besoin d'un autre moyen d'instancier l'objet.

+0

, car il se réfère à une vue tous les objets de vue doivent avoir un composant xml? –

+0

et il est là dans le R.java: public static final class id { public statique final int mySimpleXYPlot = 0x7f050000; public static final int nouveauObj = 0x7f050001; } –

+0

votre application de battage semble assez bonne, la saison prochaine je pourrais l'utiliser. –

1

Assurez-vous de ne pas avoir modifié un défaut dans l'une des vues xml. Essayez de nettoyer le projet. En fait, le fichier R est généré automatiquement. Nous n'avons pas besoin de l'éditer manuellement.

Questions connexes