【发布时间】:2018-10-19 23:55:10
【问题描述】:
我在操作栏中有一个searchView,当用户在searchView 中进行查询然后旋转设备时,我在onCreateOptionsMenu 中的searchView 中设置了查询,并将searchView 扩展为menuItem.expandActionView(),因为searchView.setIconified(false)对我没有影响,但调用 menuItem.expandActionView() 会删除或隐藏其他菜单项即使在用户关闭 searchView 后其他菜单项仍然隐藏!在用户关闭 searcheView 后,甚至 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);
}
【问题讨论】:
标签: android android-actionbar searchview