2014-11-17 6 views
1

Я пытаюсь понять, что не так с тем, что я делаю. Я в настоящее время следую the android action bar tutorial, и по какой-то причине он не показывает мне значок поиска в панели действий на моем устройстве, он идет прямо в мой переполнение. Я запускаю версию 4.4.4 на своем устройстве, Nexus 5. Я попытался выполнить несколько руководств, и результат не изменился. Я установил новый проект по умолчанию, используя API 11, как сказано, я попытался установить showAsAction на «Always». Что еще я мог сделать? Спасибо за любую помощь!Переполнение панели действий в android

Моего файл меню XML:

<item android:id="@+id/action_search" 
     android:icon="@drawable/ic_action_new" 
     android:title="new" 
     android:showAsAction="ifRoom" /> 

<item android:id="@+id/action_settings" 
     android:title="Settings" 
     android:showAsAction="never" /> 

Основная деятельность:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main, menu); 
    return super.onCreateOptionsMenu(menu); 
} 
+0

, пожалуйста, добавьте вашу попытку кода и снимок экрана, если возможно –

+0

Я добавил код, это простая попытка панели действий, ничего более. Снимок экрана моего телефона, запускающего приложение? Он получил только главный экран с именем приложения и кнопкой переполнения (точки). –

+0

это странно. В вашей деятельности вы расширяете 'ActionBarActivity'? –

ответ

1

Попробуйте использовать пространство имен

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:{anynamespace}="http://schemas.android.com/apk/res-auto"> 
    <item android:id="@+id/action_search" 
     android:icon="@drawable/ic_action_new" 
     android:title="new" 
     {anynamespace}:showAsAction="always" /> 
</menu> 

Замените {anynamespace} части любого слова

EDIT: В учебнике предлагается использовать пространства имен in case you are using the Support library.

+0

Можете ли вы объяснить? Или, по крайней мере, направлять меня на любую ссылку на эту тему, которую я мог бы прочитать? И большое спасибо! Это сработало, хотя я и делал это раньше, и это не так. Я должен пропустить что-то в прошлый раз. –

+0

рад, что я мог бы помочь :) Я обновил ответ, ссылка в ответе перенаправляется на тот же учебник, который вы добавили, просто отметьте, что это используется только в случае поддержки библиотеки –

+0

Да, я не читал ее, потому что предложение началось со словами «для совместимости в версиях с Android 2.1», поэтому я пропустил его. Так почему же мне пришлось использовать пространство имен? Я создал приложение с минимальным требуемым набором sdk, равным 11. Почему мне пришлось использовать это в моем случае? Есть предположения? –

Смежные вопросы