поймать кнопку «ОК» против нажатия «круглая стрелка» на EditText в Android - PullRequest
2 голосов
/ 13 октября 2011

У меня есть EditText с android:inputType="phone" клавиатурой. На этой клавиатуре есть "OK". Мне нравится ловить нажатие этого OK BTN. Однако я не знаю ключевое событие. Я хотел бы использовать код, подобный этому:

 setOnKeyListener(new OnKeyListener()
            {
                public boolean onKey(View v, int keyCode, KeyEvent event)
                {
                    if (event.getAction() == KeyEvent.ACTION_DOWN)
                    {
                        switch (keyCode)
                        {
                            case KeyEvent.KEYCODE_DPAD_CENTER:
                            case KeyEvent.KEYCODE_ENTER:
                            case KeyEvent.?????????? <- this one please

                                return true;
                            default:
                                break;
                        }
                    }
                    return false;
                }
            });

Надеюсь, код отличается от нажатия "стрелки"!

Я проверил все ключевые события в документах, но ничего не смог найти. Спасибо

1 Ответ

6 голосов
/ 13 октября 2011

Кнопка «ОК» обычно связана с завершением ввода и отличается от других.Используйте setOnEditorActionListener, чтобы поймать его:

editText.setOnEditorActionListener( new OnEditorActionListener()
    {
      public boolean onEditorAction( TextView v, int actionId, KeyEvent event )
      {
        // Do what you want to do here
      }
    });
...