我的问题是:如何在软键盘上更新动作按钮的显示?另一篇文章似乎是关于在键盘显示之前更改编辑器动作:Android: Can't figure how to use 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),但我认为只有在创建自己的输入法时才能访问它。
还有其他更好的想法吗?
扩展EditText并覆盖onKeyUp不是一个好主意,参见:https://groups.google.com/forum/?fromgroups#!topic/android-developers/RIxGfx5qOjM。 KeyboardView类正好有我需要的功能(invalidateKey),但我认为只有在创建自己的输入法时才能访问它。
还有其他更好的想法吗?