onCreateOptionsMenu中的expandActionView永久删除或隐藏操作栏中的其他菜单项
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了onCreateOptionsMenu中的expandActionView永久删除或隐藏操作栏中的其他菜单项相关的知识,希望对你有一定的参考价值。
我有一个searchView
在行动栏,当用户在searchView
查询,然后旋转设备我在searchView
onCreateOptionsMenu
设置查询和扩展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);
}
答案
我使用过并且正在为我工作的解决方案是使用始终或永远而不是ifRoom用于showAsAction
以上是关于onCreateOptionsMenu中的expandActionView永久删除或隐藏操作栏中的其他菜单项的主要内容,如果未能解决你的问题,请参考以下文章
Haskell Accelerate 中的 Exp a -> a
onCreateOptionsMenu()没有在FragmentActivity上调用