64 votes

"Aucun identifiant de ressource trouvé pour l'attribut 'showAsAction' dans le paquet 'Android'".

J'essaie de mettre à jour mon application Android pour qu'elle soit mieux adaptée aux tablettes fonctionnant sous Honeycomb. À ce titre, je cible la version 11 du SDK (ma minSdkVersion = 4). Cela ajoute le thème Honeycomb à mon application, ce qui lui donne une meilleure apparence. Cependant, je n'ai aucun moyen d'accéder à mes options de menu. J'essaie donc d'ajouter les éléments de mon menu en tant qu'éléments de la barre d'action avec ce qui suit dans le fichier de mon dossier /res/menu/ :

android:showAsAction="ifRoom|withText"

Cependant, j'obtiens l'erreur suivante :

Aucun identifiant de ressource trouvé pour l'attribut 'showAsAction' dans le paquet 'Android'.

J'ai essayé de modifier mon numéro de minSdkVersion à 11 pour voir si cela fonctionnerait, mais sans succès. Avez-vous des idées ? Merci !

0 votes

J'ai immédiatement pensé que c'était parce que showAsAction a été ajouté au niveau 11 de l'API, mais il semble que vous en ayez tenu compte.

0 votes

C'est ce que j'avais pensé, c'est pourquoi je l'ai ajouté. Mais, comme je développe dans Eclipse, j'ai dû changer toute la cible de mon projet en #11, comme Jason l'a suggéré ci-dessous.

0 votes

J'ai eu cette erreur lorsque j'ai changé la cible de mon projet en version 8. Il s'avère que showAsAction était mentionnée dans les fichiers XML lorsque la cible était plus élevée, j'ai donc simplement supprimé cette ligne des XML qui donnaient l'erreur et cela a résolu le problème.

5voto

Yar Points 2233

Le problème est lié à la bibliothèque AppCompat. Avec elle, vous avez

xmlns:appname="http://schemas.android.com/apk/res-auto"

et éventuellement :

appname:showAsAction="never"

dans le fichier menu.xml.

Sans la lib, vous ne pouvez qu'avoir :

android:showAsAction="never"

et mon application fonctionne avec le menu à la fois sur Android 4.3 et 2.3.3.

0voto

sagits Points 188

Vérifiez votre compileSdkVersion sur app build.gradle. Définissez-la à 21 :

compileSdkVersion 21

0voto

sagar Points 1

Allez dans gradle et ensuite dans app.buildgradle puis mettez compileSDKVersion à 21 et ensuite si nécessaire le studio Android téléchargera quelques fichiers

0voto

Souleste_ Points 288

De la réponse qui a été supprimée parce qu'elle était écrite en espagnol :

Toutes les corrections ci-dessus peuvent ne pas fonctionner dans Android studio. Si vous utilisez Android STUDIO, veuillez utiliser la solution suivante.

Utilisez

xmlns: compat = "http://schemas.android.com/tools"

sur l'étiquette du menu au lieu de

xmlns: compat = "http://schemas.android.com/apk/res-auto"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X