Android OnCreateOptions菜单中的expandActionView从操作栏中永久删除或隐藏其他菜单项
我在操作栏中有一个Android OnCreateOptions菜单中的expandActionView从操作栏中永久删除或隐藏其他菜单项,android,android-actionbar,searchview,Android,Android Actionbar,Searchview,我在操作栏中有一个searchView,当用户在searchView中有查询,然后旋转设备时,我在oncreateoptions菜单中的searchView中设置查询,并使用menuItem.expandActionView()展开searchView,因为searchView.setIconified(false)对我没有影响,但调用menuItem.expandActionView()会删除或隐藏其他菜单项,即使在用户关闭searchView之后,其他菜单项仍会保持隐藏!!搜索视图被用户关闭
searchView
,当用户在searchView
中有查询,然后旋转设备时,我在oncreateoptions菜单中的searchView
中设置查询,并使用menuItem.expandActionView()
展开searchView,因为searchView.setIconified(false)
对我没有影响,但调用menuItem.expandActionView()
会删除或隐藏其他菜单项,即使在用户关闭searchView之后,其他菜单项仍会保持隐藏!!搜索视图被用户关闭后,甚至搜索视图图标也不会显示在操作栏其他菜单项中,serachView
已将showAsAction
设置为ifRoom
我很惊讶,当用户通过单击搜索图标来扩展操作视图时,没有问题,但当我调用expandActionView
时,我遇到了这个问题
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
final MenuItem searchMenuItem = menu.findItem(R.id.searchMenuItem);
searchView = (SearchView) searchMenuItem.getActionView();
searchView.setOnQueryTextListener(this);
searchView.setOnCloseListener(this);
searchView.setSubmitButtonEnabled(false);
searchView.setIconifiedByDefault(true);// <-- this line has no effect even when using false !!
if(initialQuery != null) {
searchView.setIconified(false);// <-- this line has no effect !!!
searchView.setQuery(initialQuery, true);
searchMenuItem.expandActionView();//<-- this line expands searchView but hides other menu items!!
searchView.setQuery(initialQuery, true);
}
return super.onCreateOptionsMenu(menu);
}
@覆盖
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(右菜单.主菜单,菜单);
final MenuItem searchMenuItem=menu.findItem(R.id.searchMenuItem);
searchView=(searchView)searchMenuItem.getActionView();
setOnQueryTextListener(这个);
searchView.setOnCloseListener(这个);
searchView.setSubmitButtonEnabled(false);
searchView.setIconifiedByDefault(true);//我使用过并且正在为我工作的解决方案是使用始终
或从不
,而不是ifRoom
用于showAsAction