Skip to content

Instantly share code, notes, and snippets.

@shikto1
Created July 10, 2018 13:55
Show Gist options
  • Save shikto1/f811b8685bd592ebfd92b5e1cf1902fb to your computer and use it in GitHub Desktop.
Save shikto1/f811b8685bd592ebfd92b5e1cf1902fb to your computer and use it in GitHub Desktop.
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
final MenuItem searchItem = menu.findItem(R.id.search);
SearchView searchView = (android.widget.SearchView) searchItem.getActionView();
// Detect SearchView icon clicks
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setItemsVisibility(menu, searchItem, false);
}
});
// Detect SearchView close
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
setItemsVisibility(menu, searchItem, true);
return false;
}
});
return super.onCreateOptionsMenu(menu);
}
private void setItemsVisibility(Menu menu, MenuItem exception, boolean visible) {
for (int i=0; i<menu.size(); ++i) {
MenuItem item = menu.getItem(i);
if (item != exception) item.setVisible(visible);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment