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

64

我正在尝试更新我的Android应用程序,使其在运行Honeycomb的平板电脑上看起来更好。因此,我将SDK版本目标设置为11(我的minSdkVersion = 4)。这会将Honeycomb主题添加到我的应用程序中,使其外观更佳。但是,我无法访问我的菜单选项。因此,我尝试在位于/res/menu/文件夹中的文件中将我的菜单项添加为操作栏项,代码如下:

android:showAsAction="ifRoom|withText"

然而,我遇到了以下错误:

在包“android”中没有找到属性“showAsAction”的资源标识符

我尝试将我的minSdkVersion号改为11以查看是否可以解决问题,但是没有成功。有任何想法吗?谢谢!


我立刻想到这是因为showAsAction是在API 11级中添加的,但你似乎已经考虑到了这一点。 - Codemonkey
这正是我所想的,这就是为什么我添加它的原因。但是,由于我正在使用Eclipse进行开发,所以我需要像下面Jason建议的那样改变整个项目的目标到#11。 - ariets
当我将项目目标更改为8版本时,我遇到了这个错误。结果发现在较高的目标版本中XML文件中提到了“showAsAction”,因此我只需从导致错误的XML文件中删除该行即可解决问题。 - Superbest
9个回答

65
如果您正在使用 Eclipse 进行构建,请确保将项目的构建目标设置为 Honeycomb。

就这些了。谢谢。非常感激。你知道为什么我的操作栏没有显示任何内容吗?即使有这段代码在那里? - ariets
应该展示。如果没有展示,请使用你的代码提出另一个问题。 - Jason Hanley
4
更改构建目标后,您还需要进行清理操作。 - Mike
4
蜂窝状结构 = API 级别 11 = Android 3.0.x。 - Junior Mayhé

34

从每个 XML 文件的 res/menu 文件夹中删除 android:showAsAction="never"


4
为什么需要这样做呢?android:showAsAction="never" 有时确实很有用。 - IgorGanapolsky
2
尽管这不是期望的操作,但它是最好的临时解决方案。我导入了android-support-v7-appcompat.jar,但在从我的XML中删除android:showAsAction="never"行、删除gen文件夹、清理项目并重新构建之前,它无法正确加载。在我有一个没有错误的构建之后,我可以将android:showAsAction="never"重新添加到我的XML中而不出现错误。 - MrUser

22

所有上述修复可能无法在Android Studio中起作用。如果您正在使用ANDROID STUDIO......请使用此修复方法:

在菜单标签中添加

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

而不是

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

menu标签中。


16

将 "android-support-v7-appcompat.jar" 添加到 Android 私有库中


15
在build.gradle文件中添加“compat”库的编译:
compile 'com.android.support:appcompat-v7:19.+'

5
问题与AppCompat库有关。使用它,您可以
xmlns:appname="http://schemas.android.com/apk/res-auto"

可能还包括:

appname:showAsAction="never"

在menu.xml文件中。没有这个库,你只能拥有:
android:showAsAction="never"

我的应用程序在Android 4.3和2.3.3上的菜单都能正常工作。


0

请检查您的应用程序 build.gradle 中的 compileSdkVersion。将其设置为 21:

compileSdkVersion 21

0

从因为使用西班牙语编写而被删除的答案中:

上述所有修复方法可能在Android Studio中无效。如果您正在使用ANDROID STUDIO,请使用以下修复方法。

使用

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

在菜单标签上而不是

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

0

前往Gradle,然后进入app.buildgradle,将compileSDKVersion设置为21,如果需要,Android Studio将会下载一些文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接