0

I have a toolbar with SearchView and a action button, this is what I want: what i want

but when I code, my action button hiden. No overflow, and I dont know why.like this: now

This is my code in onCreateOptionsMenu:

MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.list, menu);
    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    MenuItem searchViewItem = menu.findItem(R.id.search);
    SearchView searchView = (SearchView) searchViewItem.getActionView();

    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
    searchView.setIconifiedByDefault(false);
    return super.onCreateOptionsMenu(menu);

My menu:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/search"
    android:title="@android:string/search_go"
    android:icon="@android:drawable/ic_menu_search"
    app:showAsAction="always"
    app:actionViewClass="android.support.v7.widget.SearchView" />
<item android:id="@+id/memu_switch_location"
    android:title="@string/action_settings"
    android:icon="@android:drawable/ic_dialog_map"
    android:orderInCategory="100"
    app:showAsAction="always" />

So what should I do? Thanks all :)

2 Answers2

0

Try switching app:showAsAction="always" to "ifRoom" as follows:

<item android:id="@+id/search"
    android:title="@android:string/search_go"
    android:icon="@android:drawable/ic_menu_search"
    app:showAsAction="ifRoom"
    app:actionViewClass="android.support.v7.widget.SearchView" />
<item android:id="@+id/memu_switch_location"
    android:title="@string/action_settings"
    android:icon="@android:drawable/ic_dialog_map"
    android:orderInCategory="100"
    app:showAsAction="ifRoom" />
dkarmazi
  • 3,199
  • 1
  • 13
  • 25
  • it looks like this problem requires more code to be shown. How does your entire activity look like? – dkarmazi Nov 25 '15 at 00:10
0

I have not tried yet but I think it maybe help you:

Change attribute "showAsAction" of search to "ifRoom":

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/search"
    android:title="@android:string/search_go"
    android:icon="@android:drawable/ic_menu_search"
    app:showAsAction="ifRoom"
    app:actionViewClass="android.support.v7.widget.SearchView" />
<item android:id="@+id/memu_switch_location"
    android:title="@string/action_settings"
    android:icon="@android:drawable/ic_dialog_map"
    android:orderInCategory="100"
    app:showAsAction="always" />
Ken
  • 1,303
  • 13
  • 15