Программирование «enter» и «shift-enter» для EditText с помощью программной клавиатуры - PullRequest
4 голосов
/ 28 октября 2011

Я занимаюсь разработкой приложения для Android, в котором используется EditText (Multiline). Устройства, на которых я тестирую его, не имеют жестких клавиатур, поэтому в результате я (очевидно) использую программную клавиатуру. Когда я нажимаю / нажимаю на EditText, появляется программная клавиатура. Функциональность, которую я предназначаю для EditText, заключается в том, что когда я нажимаю «Enter», программная клавиатура исчезает. Однако для обозначения абзаца я хочу использовать «Shift-Enter». Это похоже на ввод комментариев на Facebook.

Мне удалось подражать функциональности "Enter" с помощью некоторого простого кода. Используя KeyEvent и OnKeyListeners. Я попытался закодировать его так, чтобы «Shift-Enter» работал (например, isShiftPressed ()). Однако после некоторых исследований я обнаружил, что «Shift», по-видимому, не вызывает событие onKey для программных клавиатур.

Многие предложения StackOverflow говорят мне об использовании TextChangedListener, но это не работает для меня, потому что ни сдвиг, ни ввод фактически не изменяют текст в EditText.

Кто-нибудь знает решение, чтобы я мог получить предназначенную функцию моего EditText? Думаю, что-нибудь подойдет к этому моменту.

...