600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 监听软键盘中的删除键

监听软键盘中的删除键

时间:2020-09-15 08:46:46

相关推荐

监听软键盘中的删除键

最近因为项目需要,要监听软键盘中的删除键,在网上搜了大部分的说法,用onKeyListener,但是不知道为什么,设置后并没有效果,最后自己通过dispatchKeyEvent实现了,代码如下

@Overridepublic boolean dispatchKeyEvent(KeyEvent event) {if (event.getKeyCode() ==KeyEvent.KEYCODE_DEL){//TODO anything}return super.dispatchKeyEvent(event);}

当然,仅重写上面的代码,程序将会运行两次dispatchKeyEvent方法,原因在于当键盘按下时,首先触发dispatchKeyEvent,然后触发onUserInteraction,再触发onKeyDown方法,如果按下后立马松开,则仅有两步:先触发dispatchKeyEvent,然后触发onUserInteraction,再onKeyUp。所以需要再if语句中再加上event.getAction() != KeyEvent.ACTION_UP,代码如下:

@Overridepublic boolean dispatchKeyEvent(KeyEvent event) {if (event.getKeyCode() == KeyEvent.KEYCODE_DEL && event.getAction() != KeyEvent.ACTION_UP){//TODO }}return super.dispatchKeyEvent(event);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。