2017-01-16 8 views
1

Я тестирую функцию imeOption в Android EditText. Я понимаю, как это работает, и различные варианты, такие как Go, Search, Done и т. Д. Мой вопрос связан с его слушателем событий.Android EditText imeOptions

Возьмите этот answer, например, setOnEditorActionListener вызывается при нажатии правой кнопки на мягкой клавиатуре.

setOnEditorActionListener будет вызываться независимо (если я прав) о том, какой параметр времени указан (до тех пор, пока он есть); то зачем беспокоиться о том, какое это действие? Не будет ли в редакторе текста установлен параметр фиксированного времени, указанный в макете xml? Я не понимаю, когда вызывается setOnEditorActionListener, почему все проверяют идентификатор действия?

ответ

0

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

  1. Set imeOptions в actionSend
  2. В случае, переключил действие с помощью: setImeActionLabel("search", EditorInfo.IME_ACTION_SEARCH)
  3. , переключение от EditText, а затем вернуться к нему
  4. экранная клавиатура теперь отображается «поиск» вместо отправки значка

Если у кого-либо есть какие-либо другие соображения, пожалуйста, поделитесь.