检测键盘搜索按钮

时间:2012-03-30 17:59:17

标签: java android android-edittext android-softkeyboard

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

2 个答案:

答案 0 :(得分:28)

在edittext中,您可能已使用输入法选项进行搜索。

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

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

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;
    }
});

答案 1 :(得分:1)

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

在这里&#39,如何,

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;
    }
};