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

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

  

      

    

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

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

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

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

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

所以,

a)改变这些参数,

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

当我忘记将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库了。

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

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

正确的答案是使用

 android:showAsAction="ifRoom" 

而不是android所在的地方

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

ANDROID STUDIO

如果您使用的是ANDROID STUDIO ……请使用此修复程序

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

在菜单标签而不是

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

菜单标签中。

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

  

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