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
Ê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".
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.
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
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
La bonne réponse est d'utiliser
Android:showAsAction="ifRoom"
au lieu où est Android
xmlns:Android="http://schemas.Android.com/apk/res/Android"
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.