Reputation: 25864
I don't know how to collapse a SearchView without a MenuItem and I don't know how to get a MenuItem from a ToolBar that isn't an ActionBar
It's easy enough to add a SearchView to a Toolbar:
Toolbar mToolbar = (Toolbar) toReturn.findViewById(R.id.toolbar);
mToolbar.inflateMenu(R.menu.search_menu);
menu/search_menu.xml
<?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/search"
android:icon="@drawable/ic_grey_search"
android:title="@string/filter"
app:showAsAction="always"
app:actionViewClass="android.support.v7.widget.SearchView" />
</menu>
I can get ahold of a SearchView and add an OnQueryTextListener() like so:
final SearchView searchView = (SearchView) mToolbar.findViewById(R.id.search);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
ToastUtils.makeText("Test", Toast.LENGTH_LONG);
//MenuItemCompat.collapseActionView(searchView);
return true;
}
@Override public boolean onQueryTextChange(String newText) {return false;}
});
But, without a MenuItem
I cannot call MenuItemCompat.collapseActionView(searchViewMenuItem)
.
Can someone let me know how to get a MenuItem from a none-ActionBar Toolbar.
EDIT
I hoped that mToolbar.collapseActionView();
was the solution, but this has no visible effect.
Upvotes: 0
Views: 1375
Reputation: 4651
Hold a refrence to SearchView -> mSearchView. Then where ever u want to collapse it just call
mSearchView.onActionViewCollapsed();
Upvotes: 2