我已经实现了一个菜单项来搜索列表视图。选择菜单项后,我需要使视图不可见。使用我的片段中的以下代码可以轻松完成此操作:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.action_search:
addButton.setVisibility(View.INVISIBLE);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
完成搜索后(我正在使用SearchView),我不知道如何重新设置可见性。我试图使用onOptionsMenuClosed(菜单菜单),但是由于某种原因没有被调用。
预先感谢
答案 0 :(得分:1)
尝试使用setOnActionExpandListener()
:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.your_menu, menu);
menu.findItem(R.id.action_search).setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
addButton.setVisibility(View.VISIBLE);
return false; // change to true if `false` wont work for your case
}
});
return super.onCreateOptionsMenu(menu);
}
当onMenuItemActionCollapse()
折叠或关闭时,会调用 SearchView
。