【发布时间】:2011-06-04 23:57:30
【问题描述】:
我的问题是:如何即时更新软键盘操作按钮的显示?
另一个帖子似乎是关于在显示键盘之前更改编辑器操作: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),但我认为只有在创建自己的输入法时才能访问。
还有其他人有更好的想法吗?
【问题讨论】:
-
无效视图本身不起作用?
标签: android keyboard key action