Android 搜索按钮不存在';行不通

Android 搜索按钮不存在';行不通,android,search,android-edittext,Android,Search,Android Edittext,我需要在我的设备的软键盘上做搜索按钮。 霉菌代码: XML文件: <EditText android:id="@+id/searchText" android:layout_width="match_parent" android:layout_height="40dp" android:textSize="15sp" android:hint="@string/search" android:drawableLeft="@drawable/

我需要在我的设备的软键盘上做搜索按钮。 霉菌代码:

XML文件:

<EditText
    android:id="@+id/searchText"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:textSize="15sp"
    android:hint="@string/search"
    android:drawableLeft="@drawable/ic_btn_search"
    android:singleLine="true"
    android:drawablePadding="5dp"
    android:imeOptions="actionSearch"
    android:imeActionLabel="Search" android:layout_weight="1"/>
   searchFild = (EditText) findViewById(R.id.searchEditTxt);
    searchFild.setImeOptions(EditorInfo.IME_ACTION_SEARCH);
    searchFild.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView textView, int arg, KeyEvent keyEvent) {
            if(arg == EditorInfo.IME_ACTION_SEARCH) {
                String searchString=searchFild.getText().toString();
                searchBibles(searchString);
                return true;
            }
            return false;
        }
    });
搜索按钮是键盘上预设的,但点击后什么也没发生。阿格是泽罗。
它可以在android 2.2中使用,但不能在android 4中使用。在xml中,您需要将
inputType
配置为
text
。在Java代码中,您可以删除
searchFild.setImeOptions(EditorInfo.IME\u ACTION\u SEARCH)
,至少这使它可以在Android 4.1.2上运行(这是我测试过的唯一版本)

我使用的完整代码如下所示:

<EditText
        android:id="@+id/txtSearch"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:drawableLeft="@drawable/action_search"
        android:drawablePadding="5dp"
        android:hint="@string/input_keywords_for_search"
        android:imeActionLabel="Search"
        android:inputType="text"
        android:imeOptions="actionSearch" />

我希望这有帮助

在安卓2中,它的工作。第四节不起作用
final EditText txtSearch = (EditText) findViewById(R.id.txtSearch);
txtSearch.setOnEditorActionListener(new OnEditorActionListener() {

    @Override
    public boolean onEditorAction(TextView v, int actionId,
        KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_SEARCH) {
        String searchString = txtSearch.getText().toString();
        search(searchString);
        return true;
    }
    return false;
    }
});