2011-05-21 2 views
0

Fond: J'utilise Eclipse pour développer une application Android J'ai un fichier xml contenant un menu Chaque article contient une déclaration android: icon Seule la première déclaration android: icon est référencée dans mon programme NOTE: Les deux secondes android: les déclarations d'icônes ne sont pas référencées dans mon programme ou dans l'un des Le problème: J'ai essayé en vain d'ajouter un quatrième élément de menu et découvert quelque chose de très déroutant pour moi.Non ne peux pas ne pas ajouter un élément à mon menu, je ne peux pas modifier les deux dernières icônes android: icon déclarations ou je reçois les erreurs décrites dans le titre.Par exemple, je ne peux pas changer le android: icon decla ration de:Bloc XML incorrect, Erreur: Aucune ressource trouvée correspondant au nom donné (à 'icône' avec la valeur '@android: drawable

android:icon="@android:drawable/ic_menu_preferences" 

Pour:

android:icon="@android:drawable/ic_menu_preference" 

Je trouve cela très déconcertant parce que l'androïde: icône est déclarée mais non référencé nulle part dans mon programme ou dans l'un des fichiers de projet. Et aucune des "solutions" que j'ai trouvées sur internet ne résout mon problème. Et comme j'écris ce Stackoverflow me dit que ma question a été posée et répondue, mais ce n'est pas le cas!

Vous avez des idées?

Répondre

5

NOTE: The second two android:icon declarations are NOT referenced ANYWHERE in my program or in any of the project files

Ils sont dans votre menu. Sinon, les attributs android:icon n'existeraient pas. Par conséquent, les icônes sont référencées par le menu lui-même.

For example I cannot change the following android:icon declaration

C'est parce que there is no icon in the OS with that name. De même, à moins que chaque icône que vous utilisez dans votre menu provienne du système d'exploitation, il est préférable de les copier à partir de votre SDK dans votre projet. Certains OEM remplacent les icônes standard par leurs propres versions. Si vous mélangez des icônes de système d'exploitation avec vos propres icônes, même si vous concevez vos icônes pour qu'elles correspondent à celles de l'émulateur, par exemple, elles ne correspondent pas aux autres périphériques. En copiant les icônes du SDK dans votre projet, vous assurez la cohérence au sein de votre menu. Si les icônes apparaissent correctement sur l'émulateur, elles auront la même apparence sur les autres périphériques.

I find this very baffling because the android:icon is declared but not referenced anywhere in my program or in any of the project files.

L'icône fait partie du menu. Sinon, l'attribut android:icon n'existerait pas. Par conséquent, l'icône inexistante est référencée par le menu lui-même.

+0

Merci @CommonsWare. Je comprends maintenant. – Vince

+0

Merci @CommonsWare. Plus je lis votre réponse, plus je m'en sors. Merci! J'essaie aussi de "voter" votre réponse, mais ça ne me le permettra pas. – Vince

+0

c'est une bonne réponse. Je suis content qu'il soit encore là pour le revoir. Je pense aussi que cela aidera les autres. – Vince

1

je pense, vous avez ajouté un fichier .png qui est corrompu

suivre cette link, probablement vous aider

+0

Non @Houcine Je n'ai ajouté aucun fichier png. – Vince

2

La ligne @android:drawable/ic_menu_preferences est en fait une référence elle-même. Il référence une image Android standard qui est affichée sur votre élément de menu. Voici some documentation pour vous aider avec drawables.

+0

Merci @Gary. J'ai aussi vu cela qui a beaucoup aidé [link] (http://www.darshancomputing.com/android/1.5-drawables.html) – Vince

Questions connexes