20

I change android soft keyboard to show search icon rather than Enter icon. My question is: how i can detect that user click on that search button?

Fcoder
  • 9,066
  • 17
  • 63
  • 100

2 Answers2

48

In the edittext you might have used your input method options to search.

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

Now use the Editor listener on the EditText to handle the search event as shown below:

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;
    }
});
Fattie
  • 27,874
  • 70
  • 431
  • 719
Arpit Garg
  • 8,476
  • 6
  • 34
  • 59
4

You can use OnQuerySubmit listener to get keyboard Search button click event.

Here's how,

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;
    }
};
Sk Saad Al Mahmud
  • 2,984
  • 2
  • 24
  • 22