2

我成功地使用操作栏 sherlock 实现了搜索视图,但只是出于好奇,我如何使用 Android 注释来做到这一点?

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    SearchView searchView = new
            SearchView(getSupportActionBar().getThemedContext());
    searchView.setQueryHint(getString(R.string.hint_search_bar));
    menu.add("Search")
            .setIcon(R.drawable.icon_search)
            .setActionView(searchView)
            .setShowAsAction(
                    MenuItem.SHOW_AS_ACTION_IF_ROOM
                            | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

    return true;
}

我创建了一个 xml 菜单并用

@OptionsMenu(R.menu.menu_search)

<item
    android:id="@+id/menuSearch"
    android:actionViewClass="SearchView"
    android:icon="@drawable/icon_search"
    android:showAsAction="ifRoom|collapseActionView"
    android:title="@string/lbl_search">
</item>

但搜索图标单击不会打开搜索文本字段。我认为问题是这条线

SearchView searchView = new
            SearchView(getSupportActionBar().getThemedContext());

无法在 xml 中复制。我对吗?

4

1 回答 1

4

当你喜欢下面的时候,我认为它应该工作。

<item
android:id="@+id/menuSearch"
android:actionViewClass="com.actionbarsherlock.widget.SearchView"
android:showAsAction="ifRoom|collapseActionView"
android:title="@string/lbl_search">
</item>
于 2013-06-27T11:43:03.033 回答