2013-05-23 2 views
2

액션 바 sherlock을 사용하여 검색보기를 성공적으로 구현했지만 호기심 때문에 Android Annotations를 사용하여 어떻게 할 수 있습니까? android annotations를 사용하여 SearchView (ActionBarSherlock)을 구현하는 방법은 무엇인가요?

@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로는 재생할 수 없습니다. 내가 맞습니까?

+0

내 대답을보고 시도해 봤습니까? – tasomaniac

+0

오, 감사합니다. 당신은 @ tasomaniac하지만 나는이 프로젝트에 더 이상 참여하지 않아서 테스트하지 않았습니다. 그것은 아마 일할 것이다. 고맙습니다! –

답변

4

다음과 같이하면 좋다고 생각합니다.

<item 
android:id="@+id/menuSearch" 
android:actionViewClass="com.actionbarsherlock.widget.SearchView" 
android:showAsAction="ifRoom|collapseActionView" 
android:title="@string/lbl_search"> 
</item> 
관련 문제