android - 如何即时更新编辑器操作按钮显示?

标签 android keyboard key action

我的问题是:如何即时更新软键盘操作按钮的显示?

另一个帖子似乎是关于在显示键盘之前更改编辑器操作:Android: Can't figure how to use setImeActionLabel .我想在显示时更改软键盘操作按钮。

我已经部分成功了: - 我可以使用以下方法更改操作:editText.setImeOptions(EditorInfo.IME_ACTION_GO); - 我还可以使用以下方法重绘键盘:InputMethodManager.restartInput(editText); 我使用 TextWatcher.afterTextChanged 执行此操作。 - 但是,我有一个问题。如果我按下一个键,最重要的是键盘会显示按下了哪个键。但是当我调用restartInput(...) 时,这也会隐藏显示已按下哪个键的 View 。这对我来说似乎是正常的行为,但我需要一种解决方法。

扩展 EditText 并覆盖 onKeyUp 不是一个好主意,请参阅:https://groups.google.com/forum/?fromgroups#!topic/android-developers/RIxGfx5qOjM .

KeyboardView 类正是我需要的(invalidateKey),但我认为只有在创建自己的输入法时才能访问。

还有其他人有更好的想法吗?

最佳答案

当您描述您想要做什么时,请尝试更具体...我需要多次阅读您的帖子才能理解您的要求..

因此,您要做的是如何对键盘上按下的任何键使用react,并在键盘上的操作键中显示有关它的信息。 如果那不是您的目标,请解释更多...

如果是,那么我猜你需要使用额外的 EditText(不可见)让我们调用 et0。在完成插入一个字母或您通过 ontextchanged 在您的编辑文本中定义的任何模式后,将焦点更改为 et0.. 这样您就可以更改 actionKey.. 然后将焦点发送回您的 editText .. 这样您就可以线程或计时器任务,或任何方式来管理这种临时改变焦点进出 et0 .. 这里不需要重启输入。

希望对你有所帮助..

关于android - 如何即时更新编辑器操作按钮显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4621067/

相关文章:

android - 有什么方法可以将自己的语音识别引擎与 android.speech 模块一起使用吗?

ios - Swift - 如何以编程方式显示 “paste” 工具提示菜单?

java/jsonsimple - 使用键从 jsonarray 获取值

javascript - 是否可以在 Android 和 iOS 设备中检测点击通话功能?

android - 在 Native Extension 中创建的 Pending Intent 仅适用于 Notification,但不适用于 Service

android - 如何使用 RxJava 2 + Retrofit 2 进行 POST?

java - 单击 EditText 时键盘不显示

javascript - Android Webview 键盘问题

python - 如何在 Python 中对字典中的值进行排序?

r - 在 data.table 中使用多个键来获得条件搜索