检测键盘搜索按钮

我将Android软键盘更改为显示搜索图标而不是Enter图标。我的问题是:我如何检测到该用户点击该搜索按钮?


答案 1

在编辑文本中,您可能已使用输入法选项进行搜索。

<EditText
      android:imeOptions="actionSearch"
      android:inputType="text"/>

现在,使用 EditText 上的编辑器侦听器来处理搜索事件,如下所示:

editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_SEARCH) {
           // Your piece of code on keyboard search click 
            return true;
        }
        return false;
    }
});

答案 2

您可以使用侦听器获取键盘搜索按钮单击事件。OnQuerySubmit

操作方法如下:

searchView.setOnQueryTextListener(queryTextListener);

SearchView.OnQueryTextListener queryTextListener
        = new SearchView.OnQueryTextListener() {
    @Override
    public boolean onQueryTextSubmit(String s) {
        showLog("searchClickListener onQueryTextSubmit");
        getPhotos(searchView.getQuery().toString());
        return true;
    }

    @Override
    public boolean onQueryTextChange(String s) {
        return false;
    }
};

推荐