"Не найден идентификатор ресурса для атрибута 'showAsAction' в пакете 'android'"


Я пытаюсь обновить свое приложение для android, чтобы лучше выглядеть для планшетов под управлением Honeycomb. Таким образом, я нацелен на версию 11 SDK (my minSdkVersion = 4). Это добавляет тему Honeycomb в мое приложение,что делает его лучше. Однако у меня нет доступа к параметрам меню. Итак, я пытаюсь добавить свои пункты меню в качестве элемента панели действий со следующим в файле в моей папке/res / menu/:

android:showAsAction="ifRoom|withText"

однако, я получаю следующую ошибку:

не найден идентификатор ресурса для атрибута 'showAsAction' в пакете 'android'

Я попытался изменить номер minSdkVersion на 11, чтобы увидеть, будет ли это работать, но не повезло. Есть идеи? Спасибо!

8 62

8 ответов:

Если вы строите с Eclipse, убедитесь, что цель сборки вашего проекта также установлена на Honeycomb.

удалить android:showAsAction="never" с res/menu папка из каждого xml-файла.

все вышеперечисленные исправления могут не работать в Android-студия .если вы используете ANDROID STUDIO...... используйте это исправление

добавить

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

в теге меню вместо

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

на меню тег.

добавить "android-поддержка-v7-appcompat.банку " для частных библиотек Android

добавить compat компиляция библиотеки в сборку.файл gradle:

compile 'com.android.support:appcompat-v7:19.+'

проблема связана с библиотекой AppCompat. С ним, у вас есть

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

возможно:

appname:showAsAction="never"

в меню.XML-файл.

без lib, вы можете иметь только:

android:showAsAction="never"

и мое приложение работает с меню как на Android 4.3 и 2.3.3.

Проверьте compileSdkVersion на сборке приложения.градля. Установите его в 21:

compileSdkVersion 21

перейти к gradle, а затем в приложение.buildgradle затем установите compileSDKVersion в 21, а затем, если это необходимо, Android studio загрузит некоторые файлы