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

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

android:showAsAction="ifRoom|withText"

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

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

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


person ariets    schedule 10.03.2011    source источник
comment
Я сразу подумал, что это из-за того, что showAsAction был добавлен на уровне API 11, но вы, похоже, приняли это во внимание.   -  person Codemonkey    schedule 10.03.2011
comment
Я так и думал, поэтому и добавил. Но, поскольку я разрабатываю в Eclipse, мне нужно было изменить цель всего моего проекта на # 11, как предложил Джейсон ниже.   -  person ariets    schedule 10.03.2011
comment
Я получил эту ошибку, когда изменил цель своего проекта на версию 8. Оказывается, showAsAction упоминалось в файлах XML, когда цель была выше, поэтому я просто удалил эту строку из XML-файлов, которые выдавали ошибку, и это решило проблему.   -  person Superbest    schedule 31.10.2012


Ответы (9)


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

person Jason Hanley    schedule 10.03.2011
comment
Вот оно. Спасибо. Очень признателен. Вы случайно не знаете, почему на моей панели действий ничего не отображается, даже с этим кодом? - person ariets; 10.03.2011
comment
Это должно показать. Если нет, создайте еще один вопрос с вашим кодом. - person Jason Hanley; 10.03.2011
comment
Вам также нужно будет выполнить очистку после изменения цели сборки. - person Mike; 11.07.2013
comment
Соты = уровень API 11 = Android 3.0.x - person Junior Mayhé; 14.06.2014

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

person Saurabh    schedule 10.03.2013
comment
Почему это должно быть необходимо? android:showAsAction=never иногда может пригодиться. - person IgorGanapolsky; 03.01.2014
comment
Хотя это не было желаемым действием, это было лучшее временное решение. Я импортировал android-support-v7-appcompat.jar, но он не загружался должным образом, пока я не удалил строки android:showAsAction=never из своих XML-файлов, не удалил папку gen, не очистил проект и не пересобрал. После того, как у меня была сборка без ошибок, я мог без ошибок добавить android:showAsAction=never обратно в свои XML-файлы. - person MrUser; 08.10.2014

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

добавлять

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

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

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

в теге menu.

person kumar kundan    schedule 09.06.2015

Добавьте «android-support-v7-appcompat.jar» в частные библиотеки Android.

person user3192555    schedule 14.01.2014

Добавьте компиляцию библиотеки compat в файл build.gradle:

compile 'com.android.support:appcompat-v7:19.+'
person eleven    schedule 20.07.2014

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

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

и возможно:

appname:showAsAction="never"

в файле menu.xml.

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

android:showAsAction="never"

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

person Yar    schedule 23.02.2015

Проверьте свой compileSdkVersion в приложении build.gradle. Установите его на 21:

compileSdkVersion 21
person sagits    schedule 19.03.2015

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

person sagar    schedule 14.06.2016

Из ответа, который был удален из-за написания на испанском языке:

Все вышеперечисленные исправления могут не работать в Android Studio. Если вы используете ANDROID STUDIO, используйте следующее исправление.

Использовать

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

на ярлыке меню вместо

xmlns: compat = "http://schemas.android.com/apk/res-auto"
person Souleste    schedule 03.04.2020