Actionbar Sherlock搜索小部件展开不起作用

时间:2012-06-14 08:58:18

标签: android user-interface actionbarsherlock

我正在使用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的折叠按钮,视图会按预期展开。

有谁知道我做错了什么?谢谢你的帮助!

1 个答案:

答案 0 :(得分:14)

通过源文档后,我终于找到了自己的答案。 menuItem.expandActionView()仅在MenuItem设置了以下标志时生效:searchItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

希望能帮到那里的人!