Как обращаться с поисковой системой Android?

Я новичок в android, у меня есть небольшое сомнение относительно того, как обращаться с аппаратной клавиатурой, и если я нажму кнопку поиска в любой части приложения, ее нужно обработать, значит, мне нужно передать намерение поисковой активности?

Как я могу достичь этой цели.

Ответ 1

Попробуйте это,

  @Override
 public boolean onSearchRequested() {
     // your stuff here
     return false; 
 }

Ответ 2

Он также запускает onKeyDown с ключевым кодом KeyEvent.KEYCODE_SEARCH перед вызовом onSearchRequested, как указано выше.

Ответ 3

Добавьте прослушиватель для своего EditText для прослушивания на кнопке поиска следующим образом:

myEditText.setOnKeyListener(new OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_SEARCH || keyCode == KeyEvent.KEYCODE_ENTER) {
                //Do some stuff
            }
            //Leave the return value false to hide the SoftKeyboard if it is shown
            return false;
        }
    });

Для меня это произошло до того, как кнопка поиска программной клавиши была обнаружена как кнопка Enter, а не поиск. Вот почему я обращаюсь к ним