Краткая версия вопроса: как я могу зафиксировать событие длительного нажатия на программном вводе/клавиатуре в Android?
Длинная версия: в приложении для Android у нас есть многострочный EditText, и мы хотим иметь следующее поведение: 1. По умолчанию отображается кнопка ГОТОВО, при нажатии на нее программный ввод/клавиатура закрывается. 2. Если пользователь долго нажимает кнопку DONE, ее поведение изменится на кнопку ENTER, и в EditText появится новая строка.
Для требования № 1 я использовал решение здесь: https://stackoverflow.com/a/12570003/4225326
Что касается требования № 2, у меня есть блокирующий вопрос: как зафиксировать событие длительного нажатия. Я установил onEditorActionListener, но захваченное событие равно null: http://developer.android.com/reference/android/widget/TextView.OnEditorActionListener.html Я искал документ, метод, связанный с длительным нажатием, предназначен для жесткой клавиатуры: http://developer.android.com/reference/android/view/View.html#onKeyLongPress(int, android. view.KeyEvent), я не могу найти его для программного ввода/клавиатуры.
Спасибо за изучение этого вопроса.
doneButton.setOnLongClickListener(new OnLongClickListener() {...});
- person k3b   schedule 22.11.2016