我在 sherlock 操作栏中的搜索视图有问题,所以我决定改用编辑文本。但是当我想使用编辑文本时,我的应用程序崩溃(android 2.3)。我如何在 android 2.3 的 sherlock 活动中使用搜索 edittext 或 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;
}
这是我的edittext xml源:
<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 进行搜索的方法,请注意我。