我的问题是:如何动态更新软键盘的动作按钮的显示?
另一篇文章似乎是关于在显示键盘之前更改编辑器操作: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),但我认为只有在创建自己的输入方法时才能访问它.
还有其他人有更好的想法吗?