我正在使用Actionbar Sherlock。启动时显示的活动应以“搜索模式”开始,以立即开始搜索。为此,我使用以下代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
//collapse search
MenuItem searchItem = menu.add(Menu.NONE, R.string.inlineSearch, Menu.NONE, getString(R.string.inlineSearch)).setIcon(R.drawable.menu_search);
searchItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
searchView = new SearchView(this);
searchItem.setActionView(new SearchView(this));
searchItem.expandActionView();
return true;
}
SearchView是Android / Actionbar Sherlock提供的视图。
我面临的问题是,无论我做什么,该项目在启动时都不会扩展。 我尝试在启动后使用另一个操作栏项调用expandActionView方法,没有任何更改。 我实现了自己的View实现了CollapsibleActionView,但onActionViewExpanded()和onActionViewCollapsed()方法永远不会被调用。
但是,如果我单击SearchView的折叠按钮,视图会按预期展开。
有谁知道我做错了什么?谢谢你的帮助!
答案 0 :(得分:14)
通过源文档后,我终于找到了自己的答案。
menuItem.expandActionView()
仅在MenuItem设置了以下标志时生效:searchItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
希望能帮到那里的人!