シャーロックアクションバーの検索ビューに問題があるため、代わりに編集テキストを使用することにしました。しかし、編集テキストを使用したい場合、アプリがクラッシュします(android2.3)。android 2.3のsherlockアクティビティでsearchedittextまたはsearchviewを使用するにはどうすればよいですか?
これが私のonCreateOptionsMenu関数です:
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater minflater = getSupportMenuInflater();
minflater.inflate(R.menu.activity_main, menu);
View v = (View) menu.findItem(R.id.search).getActionView();
txtSearch = ( EditText ) v.findViewById(R.id.txt_search);
txtSearch.setOnEditorActionListener(new OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
return false;
}
});
return true;
}
これは私のedittextxmlソースです:
<EditText
android:id="@+id/txt_search"
android:inputType="text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:cursorVisible="true"
android:hint="@string/hint"
android:imeOptions="actionDone"
android:textColor="@android:color/black"
android:textCursorDrawable="@android:color/black"
/>
と私の検索メニュー項目:
<item
android:id="@+id/search"
android:title="Search"
android:icon="@android:drawable/ic_menu_search"
android:showAsAction="always|collapseActionView"
android:actionViewClass="@layout/search_layout"
/>
誰かがsherlockアクティビティでsearchviewを使用する方法、またはsherlockアクションバーで検索するためにedittextを使用する方法を知っている場合は、私に注意してください。