我使用操作栏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菜单并使用
注释我的Activity@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中复制。我是对的吗?
答案 0 :(得分:4)
当你在下面这样做时,我认为它应该有用。
<item
android:id="@+id/menuSearch"
android:actionViewClass="com.actionbarsherlock.widget.SearchView"
android:showAsAction="ifRoom|collapseActionView"
android:title="@string/lbl_search">
</item>