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

ari*_*ets 63 android android-layout android-menu android-actionbar

我正在尝试更新我的Android应用程序,以便更好地运行Honeycomb的平板电脑.因此,我的目标是SDK的版本11(我的minSdkVersion = 4).这将Honeycomb主题添加到我的应用程序中,使其看起来更好.但是,我无法访问我的菜单选项.所以,我正在尝试将我的菜单项添加为操作栏项目,并在my/res/menu /文件夹中的文件中添加以下内容:

android:showAsAction="ifRoom|withText"
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

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

我尝试将minSdkVersion数字改为11以确定它是否有用,但没有运气.有任何想法吗?谢谢!

Jas*_*ley 65

如果使用Eclipse构建,请确保项目的构建目标也设置为Honeycomb.

  • 更改构建目标后,您还需要进行清理. (4认同)
  • Honeycomb = API级别11 = Android 3.0.x (4认同)

Sau*_*abh 33

除去android:showAsAction="never"res/menu文件夹从每一个XML文件.

  • 为什么这是必要的?android:showAsAction ="never"实际上有时会派上用场. (4认同)
  • 虽然这不是理想的行动,但它是最好的临时解决方案.我导入了android-support-v7-appcompat.jar,但是直到我从我的XML中删除了android:showAsAction ="never"行,删除了gen文件夹,清理了项目并重建了它才正确加载.在我没有错误的构建之后,我可以将android:showAsAction ="never"添加回我的XML而没有错误. (2认同)

kum*_*dan 22

所有上述修复可能无法在android studio中使用.如果您使用的是ANDROID STUDIO ......请使用此修复程序

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

在菜单标签而不是

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

菜单标签中.


小智 16

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


ele*_*ven 15

compat库编译添加到build.gradle文件中:

compile 'com.android.support:appcompat-v7:19.+'
Run Code Online (Sandbox Code Playgroud)


Yar*_*Yar 5

该问题与AppCompat库有关.有了它,你有

xmlns:appname="http://schemas.android.com/apk/res-auto"
Run Code Online (Sandbox Code Playgroud)

可能:

appname:showAsAction="never"
Run Code Online (Sandbox Code Playgroud)

在menu.xml文件中.

没有lib,你只能:

android:showAsAction="never"
Run Code Online (Sandbox Code Playgroud)

我的应用程序适用于Android 4.3和2.3.3上的菜单.