我实现了搜索框,仅在主要活动上显示(默认情况下在搜索活动上)。它有效。但是当用户从菜单打开一些对话框时,我想禁用打开搜索框(长按菜单按钮)。
在onOptionsItemSelected(MenuItem item)中我有一个case语句:
isDirection=true;
showDialog(ROUTE_DIALOG);
在onSearchRequested()中,我有:
alert("Search"); // show Toast
if(isDirection) return false;
else return super.onSearchRequested();
当我长按菜单按钮时,我看到Toast“搜索”和搜索框,但是当我通过按菜单项打开对话框而不是长按菜单时,我看不到Toast“搜索”但搜索框打开。问题出在哪儿?打开对话框时不调用onSearchRequested()?