2

アクションバー sherlock を使用して検索ビューを正常に実装しましたが、好奇心のために、Android Annotations を使用してそれを行うにはどうすればよいですか?

@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 では再現できません。私は正しいですか?

4

1 に答える 1