美文网首页Android开发小技能
Android中监听Edittext控件于键盘中按下确认事件On

Android中监听Edittext控件于键盘中按下确认事件On

作者: 小夫哥 | 来源:发表于2018-02-08 16:49 被阅读82次

    背景

    Edittext作为一个常见控件,很多时候都有监听键盘确认就执行指定逻辑的需求

    实现

    这个很简单嘛,Edittext自带有键盘按下事件监听,就是OnEditorActionListener了,用就对了

    问题

    使用中发现,的确可以监听键盘确认事件,但逻辑会执行两次!!!两次!!!

    解决

    后来实验证明,原来键盘按下后会触发KeyEvent.ACTION_UP事件和KeyEvent.ACTION_DOWN事件,所以会出现逻辑执行两次的盛况!所以,加个事件判断就好了。

     et_input.setOnEditorActionListener(new TextView.OnEditorActionListener() {
                @Override
                public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
                    if (null != keyEvent && KeyEvent.KEYCODE_ENTER == keyEvent.getKeyCode()) {
                        switch (keyEvent.getAction()) {
                            case KeyEvent.ACTION_UP:
                                //做爱做的事情
    
                                return true;
                            default:
                                return true;
                        }
                    }
                    return false;
                }
            });
    

    毕。

    相关文章

      网友评论

        本文标题:Android中监听Edittext控件于键盘中按下确认事件On

        本文链接:https://www.haomeiwen.com/subject/cyittftx.html