在'android'包中找不到属性'showAsAction'的资源标识符

时间:2012-12-03 04:11:52

标签: java android android-xml android-menu

正如标题所示,我在至少3个XML布局文件中遇到了这个错误,但是,我没有在任何这些XML文件中看到attritube“showsAsAction”,我是否错过了什么或者我只是盲目?,这是有问题的XML文件:

<?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>

另外,我使用Android 2.2(API 8)作为目标版本。我知道“showAsAction”是在API 11中实现的,但我在这里找不到问题。

更新:问题面板显示以下错误:

  

生成最终存档时出错:java.io.FileNotFoundException:C:\ Users \\ Documents \ Android \ Registro de Asistencia \ bin \ resources.ap_不存在

7 个答案:

答案 0 :(得分:12)

当我忘记将 appcompat-v7:+ 添加到我的项目依赖项时,我遇到了这个问题。您可以在build.gradle中执行此操作:

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

这是因为我在menu.xml中有以下内容:

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

app:showAsAction="never"

当我删除 xmlns:app 命名空间并刚刚使用android:showAsAction="never"时,我不再需要appcompat-v7库了。

答案 1 :(得分:8)

您确定要查找正确的* .xml文件吗?你似乎在布局xmls中寻找“showAsAction”,但它是菜单的参数。而是进入... / menu / your_activity.xml

您正在处理的问题与使用小于4.0的目标和/或小于14的API有关。

所以,

a)更改这些参数,

b)将showAsAction的值从“never”更改为“ifRoom”。

答案 2 :(得分:3)

如果您在XML中使用了resourceidentifier“ShowAsAction”,则会发生这种情况。 此功能仅在ver11中可用。如果您尝试在较低的API版本上运行相同的错误,则会生成此错误。 解决方案 - &gt;&gt; 右键单击项目&gt;属性&gt; Android和GT;构建目标&gt;选择大于API 11的内容

答案 3 :(得分:2)

您必须选择版本为4.0或更高版本的API 14,因为任何低于4.0的版本在其包中不包含 showAsAction 属性

答案 4 :(得分:1)

正确的答案是使用

android:showAsAction="ifRoom"

而不是android是

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

答案 5 :(得分:1)

ANDROID STUDIO

如果您使用的是 ANDROID STUDIO ......请使用此修补程序

添加

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

菜单标签中的

而不是

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

菜单标记中的

答案 6 :(得分:-1)

如果您将项目从Android Studio导入到eclipse,只需添加:

<?xml version="1.0" encoding="utf-8"?>

在xml的头部,它将全部修复。