Элементы меню должны указывать заголовок
У меня есть эта проблема, но дело в том, что у меня есть заголовок
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/tools">
<!-- Search, should appear as action button -->
<item
android:title="@string/action_search"
android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:showAsAction="ifRoom" />
<item
android:title="@string/action_settings"
android:id="@+id/action_settings"
android:showAsAction="never" />
</menu>
в строках xml файла я сделал строки, программа даже переключает action_search и action_settings со своим строковым поиском и настройками.
Ответы
Ответ 1
Вы можете удалить эти вещи xmlns: android = "schemas.android.com/apk/res-auto"; XMLNS: андроид = "schemas.android.com/tools";
Также попробуйте следовать примерам Goolge dev http://developer.android.com/guide/topics/ui/menus.html
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/new_game"
android:icon="@drawable/ic_new_game"
android:title="@string/new_game"
android:showAsAction="ifRoom"/>
<item android:id="@+id/help"
android:icon="@drawable/ic_help"
android:title="@string/help" />
</menu>
Ответ 2
Просто неправильное пространство имен XML! Попробуйте:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
</menu>
И как Г.Т. предложил вам рассмотреть возможность использования appcompat в свойстве showAsAction (требуется только, если вы хотите поддерживать API < 11):
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/item1"
android:icon="@drawable/ic_launcher"
app:showAsAction="ifRoom|withText"
android:title="@string/Add_New" />
</menu>
Примечание:
Библиотека appcompat совместима с некоторыми старыми версиями Android (API 7+), которые не могут обрабатывать свойство showAsAction, потому что у них нет ActionBar (API < 11).
Ответ 3
На самом деле для определения процесса требуется пространство имен.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_shuffle"
android:icon="@drawable/android_music_player_rand"
android:orderInCategory="1"
app:showAsAction="always"
android:title="Shuffle"
android:onClick="shuffle"/>
<item
android:id="@+id/action_end"
android:icon="@drawable/end"
android:orderInCategory="2"
app:showAsAction="always"
android:title="End"
android:onClick="end"/>
</menu>