web-dev-qa-db-fra.com

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

comme le titre l'indique, j'obtiens cette erreur dans au moins 3 des fichiers de mise en page XML. Cependant, je ne vois pas l'attritube "showsAsAction" dans ces fichiers XML. Ai-je oublié quelque chose ou suis-je simplement aveugle?, ici sont les fichiers XML en question:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:orientation="vertical" >

    <Button
        Android:id="@+id/findSelected"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:text="Registrar Asistencia" 
        Android:onClick="registrarAsistencia"/>

     <ListView 
         Android:id="@+id/listaAlumnos" 
         Android:layout_width="fill_parent"
         Android:layout_height="fill_parent" />

</LinearLayout>

<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:id="@+id/LinearLayout1"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:gravity="center|top"
    Android:orientation="vertical" >

    <TextView
        Android:id="@+id/lblCuenta"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="Cuenta"
        Android:textAppearance="?android:attr/textAppearanceLarge" />


    <EditText
        Android:id="@+id/txtCuenta"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:ems="10" /> 

    <TextView
        Android:id="@+id/lblPass"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text="Contraseña"
        Android:textAppearance="?android:attr/textAppearanceLarge" />

    <EditText
        Android:id="@+id/txtPass"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:ems="10"
        Android:inputType="textPassword" />

    <Button
        Android:id="@+id/btnIniciarSesion"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:onClick="iniciarSesion"
        Android:text="Iniciar Sesion" />

</LinearLayout>

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent" >


    <TextView
        Android:id="@+id/textView1"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentLeft="true"
        Android:layout_alignParentTop="true"
        Android:text="Large Text"
        Android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

De plus, j'utilise Android 2.2 (API 8) comme version cible. Je sais que "showAsAction" a été implémenté dans API 11, mais je ne trouve pas le problème ici.

Mise à jour: Le panneau des problèmes affiche les erreurs suivantes:

Erreur lors de la génération de l'archive finale: exception.Java.io.FileNotFound: C:\Utilisateurs \\ Documents\Android\Registr de Asistencia\bin\resources.ap_ n'existe pas

12
Moko

Êtes-vous sûr de chercher dans le bon fichier * .xml? Vous semblez chercher "showAsAction" dans le fichier XML de mise en page, mais c'est un paramètre pour le menu. Regardez plutôt dans .../menu/your_activity.xml

Le problème que vous rencontrez est lié à l'utilisation d'une cible inférieure à 4,0 et/ou d'une API inférieure à 14.

Alors,

a) changer ces paramètres,

b) modifiez la valeur de showAsAction de "jamais" à "ifRoom".

8
lewildcapacitor

J'ai eu ce problème quand j'ai oublié d'ajouter appcompat-v7: + à mes dépendances de projet. Vous pouvez le faire comme ceci dans build.gradle:

dependencies {
  compile 'com.Android.support:appcompat-v7:+'
}

Et c’est parce que j’avais le texte suivant dans mon menu.xml:

xmlns:app="http://schemas.Android.com/apk/res-auto"

et

app:showAsAction="never"

Lorsque j'ai supprimé le xmlns: app namespace et que je viens d'utiliser Android:showAsAction="never", je n'ai plus besoin de la bibliothèque appcompat-v7.

12
IgorGanapolsky

Cela se produit si vous avez utilisé l'identificateur de ressource "ShowAsAction" dans votre fichier XML . Cette fonctionnalité est disponible uniquement à partir de ver11, je suppose. Si vous essayez d'exécuter la même chose sur une version d'API plus basse, cette erreur est générée . SOLUTION - >> Cliquez avec le bouton droit sur le projet> Propriétés> Android> Construire la cible> Choisissez un élément supérieur à l'API 11

3
Ajith Memana

vous devez choisir une API 14 avec une version 4.0 ou supérieure car aucune version antérieure à 4.0 ne contient dans son package l'attribut showAsAction

2
LebDev

La bonne réponse est d'utiliser

Android:showAsAction="ifRoom"

au lieu où est Android

xmlns:Android="http://schemas.Android.com/apk/res/Android"
1
kboom

Android STUDIO

si vous utilisez Android STUDIO ...... utilisez ce correctif

ajouter

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

dans la balise de menu au lieu de 

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

dans menu tag.

1
kumar kundan