java - 在软键盘 android 上收听每个按键事件

标签 java android android-softkeyboard keylistener

我不想听软键盘事件。我已经尝试过 setOnKeyListener 和 setKeyListener,但它们都不起作用。有谁知道怎么听软键盘?

最佳答案

假设您在较新的 Android 版本上使用软键盘,那么以下简介来自 KeyEvent reference解释获取软键事件的关键限制。

“由于软输入法可以使用多种创造性的文本输入方式,不能保证软键盘上的任何按键都会产生按键事件:这由 IME 自行决定,实际上不鼓励发送此类事件。您永远不应依赖于接收软输入法上任何键的 KeyEvents。特别是,默认软键盘永远不会向任何以 Jelly Bean 或更高版本为目标的应用程序发送任何键事件,并且只会将某些按下删除键和返回键的事件发送到针对 Ice Cream Sandwich 或更早版本的应用程序。请注意,无论版本如何,其他软件输入法可能永远不会发送按键事件。考虑使用像这样的编辑器操作IME_ACTION_DONE 如果您需要与软键盘进行特定交互,因为它可以让用户更清楚地了解您的应用程序将如何对按键使用react。”

我认为使用 TextWatcher界面可能与您将要获得的内容一样接近。

关于java - 在软键盘 android 上收听每个按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25320653/

相关文章:

java - BitmapFactory.decodeStream 返回 null

java - Jersey (JSR311-实现)和重定向

android - 什么是 libapp.so 和 libflutter.so?

java - Android中如何绘制弯曲的文字

java - Android 中的软键盘挤压文本编辑框

java - 使用 saxon 执行 xquery 并获取字符串作为结果

Java不会执行cmd行?

Java 套接字无法在 Android 上运行(ECONNREFUSED)

android - 如何使用数据库开发android软键盘示例

android - 允许输入字母的数字软键盘