Android系统。退格键/删除键无法正常工作。

时间:2012-01-17 10:16:34

标签: android android-edittext keylistener

当设置onKeyListener时,Backspace / delete键不起作用。

我在EditText上设置了一个OnKeyListener。然后某些键的默认操作无法正常运行。像DELETE / Backspace一样。然后我通过操作里面的字符串改为使用我自己的文本删除功能。但它似乎相当复杂。

我必须选择,创建子串,等等。还有其他解决方案可以使密钥正常运行吗?

3 个答案:

答案 0 :(得分:3)

这取决于您使用的IME。 有些IME在不发送KEYCODE_DEL的情况下实现删除功能。 尝试其他IME而不是默认值。

例如,如果长按DEL按钮,某些IME会删除编辑框中的所有文本。 这不能通过KEYCODE_DEL来完成。

答案 1 :(得分:1)

我也有这个问题,我通过在onKeyListener函数中返回false来解决它。这应该对其他键执行正常操作。

.setOnKeyListener(new DialogInterface.OnKeyListener() 
{
     @Override public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) 
     {
        //your workarounds;
        return false;
     }
})

答案 2 :(得分:0)

对于Android附带的默认(LatinIME)Google键盘,有两个已知问题会影响KEYCODE_DEL:问题42904和62306.

我已经对此进行了研究,并设计了一个带代码的解决方法,似乎解决了这两个问题。可以在此处找到该解决方法:

Android - cannot capture backspace/delete press in soft. keyboard