我之前在Android开发邮件列表中问过这个问题,但没有得到回复。
在我的应用程序中,我不时打开软键盘,然后 看起来DEL键的事件不会被传递。方法在 问题在
并且整个Java类位于
http://squeakvm-tablet.googlecode.com/hg/project/src/org/squeak/android/SqueakView.java
软键盘上的任何字母数字键或Enter键(返回)都是 传递给除KEYCODE_DEL之外的应用程序。我试着替换 case子句中的KEYCODE_DEL与其他任何东西(例如代码为 对于硬件按钮PAGE_UP),该子句在何时获得控制权 按下按钮。
我没有使用Android Keyboard类的子类,只是使用了默认值 输入经理。
为了接收KEYCODE_DEL的活动,可以做些什么?是 导出键盘子类的唯一方法是什么?
感谢。
答案 0 :(得分:0)
我遇到了类似问题,我可以使用TextWatcher向EditText添加addTextChangedListener来解决此问题。
答案 1 :(得分:0)
您的onCreateInputConnection()覆盖不会返回TYPE_NULL作为输入类型。您必须使用TYPE_NULL确保将生成关键事件。实际上,它们是针对某些键生成的,而不是针对其他键生成的,在Android的某些版本中,而不是其他版本,但除非您使用TYPE_NULL,否则没有任何内容可以计算。
如果您 调整代码以使用TYPE_NULL,那么请参阅默认LatinIME Google键盘的某些版本中影响TYPE_NULL处理的两个错误的变通方法的说明:
Android - cannot capture backspace/delete press in soft. keyboard