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?
Asked
Active
Viewed 1.9k times
2 Answers
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
-
my code doesn't run with this method!! it doesn't work for me – Fcoder Mar 30 '12 at 18:54
-
2"it doesn't work" have never helped anyone. Being specific is the most awesome thing ! – f2lollpll Mar 30 '12 at 21:28
-
1Note you seem to also need "android:inputType="text"" on modern (4+) android. – Fattie Jun 10 '14 at 15:52
-
Great! Save lots of time. Was facing same issue. – Smeet Mar 05 '15 at 12: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