How to turn off the collapse of the search view on the back button pressed android

I used the Sherlock search view widget in the action bar for the search menu. Code snippet to initialize the search view

MenuItem item = menu.findItem(R.id.menu_search); item.expandActionView(); mSearchView = (SearchView) item.getActionView(); mSearchView.setIconifiedByDefault(false); mSearchView.setQuery(query, false); mSearchView.clearFocus(); 

The above code shows an advanced search with a default search term. The problem is that when I click the back button, the search crashes again before returning to the previous activity in Android. I do not want the search box to minimize when I press a key. How to prevent search from crashing on collapsing backward clicks?

+6
source share
2 answers

Add boolean when opening search view

 private Boolean isSearchPageIsOpen = true; 

Then add an even back button, press

 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_BACK: if(isSearchPageIsOpen ){ do something here } return false; 
0
source

SearchView.setIconifiedByDefault(false) should be enough if you set the android:showAsAction="always" attribute in your xml menu.

The following snippet works for me:

default_options.xml

 <menu xmlns:android="http://schemas.android.com/apk/res/android" <item android:id="@+id/action_search" android:title="@string/search" android:icon="@drawable/topbar_busqueda" androidshowAsAction="always" android:actionViewClass="android.support.v7.widget.SearchView" /> </menu> 

activity

  @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.default_options menu); MenuItem menuItem = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) menuItem.getActionView(); prepareSearchViewAdapter(searchView, menuItem); super.onCreateOptionsMenu(menu, inflater); } private void prepareSearchViewAdapter(final SearchView searchView, MenuItem menuItem) { searchView.setIconifiedByDefault(false); } 
0
source

Source: https://habr.com/ru/post/943527/


All Articles