Reputation: 475
I have a searchview.Here is the code:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
searchItem = menu.findItem(R.id.action_search);
SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
searchView = (SearchView)searchItem.getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setQueryHint(getResources().getString(R.string.hint)); //if you want a custom hint
searchView.setOnQueryTextListener(this);
EditText et = (EditText)searchView.findViewById(searchView.getContext().getResources()
.getIdentifier("android:id/search_src_text", null, null));
et.setHintTextColor(getResources().getColor(R.color.white));
if (hideSearchButton == false) {
menu.findItem(R.id.action_search).setVisible(true);
menu.findItem(R.id.action_shuffle).setVisible(true);
}else{
menu.findItem(R.id.action_shuffle).setVisible(false);
menu.findItem(R.id.action_search).setVisible(false);
}
searchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean queryTextFocused) {
if(!queryTextFocused) {
}
}
});
return true;
}
I have to close this searchivew from another method.How can I do this ? I researched another questions but not worked.
Upvotes: 1
Views: 3201
Reputation: 24720
use MenuItem.collapseActionView()
in your case searchItem.collapseActionView()
Upvotes: 7