обнаружить кнопку поиска клавиатуры - PullRequest
13 голосов
/ 30 марта 2012

Я изменяю программную клавиатуру Android, чтобы показывать значок поиска, а не значок ввода.Мой вопрос: как я могу обнаружить, что пользователь нажимает на эту кнопку поиска?

Ответы [ 2 ]

29 голосов
/ 30 марта 2012

В тексте редактирования вы могли использовать опции метода ввода для поиска.

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

Теперь используйте обработчик Editor в 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;
    }
});
1 голос
/ 08 января 2018

Вы можете использовать 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;
    }
};
...