Мой вопрос: как я могу обновить отображение кнопки действия на мягкой клавиатуре "на лету"?
Другое сообщение, похоже, связано с изменением действия редактора ПЕРЕД клавиатурой: Android: не могу понять, как использовать setImeActionLabel. Я хотел бы изменить кнопку действия мягкой клавиатуры, пока она показывается.
Я частично преуспел: - Я могу изменить действие, используя: editText.setImeOptions(EditorInfo.IME_ACTION_GO); - Я также могу перерисовать клавиатуру, используя: InputMethodManager.restartInput(editText); Я делаю это с помощью TextWatcher.afterTextChanged. - Однако у меня есть проблема с этим. Если я нажимаю клавишу, то сверху клавиатура показывает, какая клавиша была нажата. Но когда я вызываю restartInput (...), это также скрывает представление, которое показывает, какой ключ был нажат. Это кажется мне нормальным поведением, но мне нужно обойти это.
Расширение EditText и переопределение onKeyUp не является хорошей идеей, см. https://groups.google.com/forum/?fromgroups#!topic/android-developers/RIxGfx5qOjM.
Класс KeyboardView имеет то, что мне нужно (invalidateKey), но я думаю, что он доступен только при создании собственного метода ввода.
У кого-нибудь есть идеи?