#android #html #web #mobile #blazor-webassembly
Вопрос:
Я меняю программную клавиатуру Android, чтобы показывать значок поиска, а не значок ввода. Мой вопрос: как я могу обнаружить, что пользователь нажимает на эту кнопку поиска?
Ответ №1:
В редактируемом тексте вы, возможно, использовали параметры метода ввода для поиска.
lt;EditText android:imeOptions="actionSearch" android:inputType="text"/gt;
Теперь используйте прослушиватель редактора в 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. мой код не запускается с помощью этого метода!! это не работает для меня
2. «это не работает» никогда никому не помогало. Быть конкретным — это самое удивительное !
3. Примечание. Вам, похоже, также нужен «android:inputType=»текст»» на современном (4 ) Android.
4. Отлично! Сэкономьте много времени. Столкнулся с той же проблемой.
Ответ №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; } };