Android EditText的onEditorAction监听事件防止执行两次

Android的EditText通过setOnEditorActionListener给文本编辑框设置监听事件,但是在其处理方法onEditorAction中的逻辑在每次回车后都触发了两次,这是因为在键盘回车的ACTION_UP和ACTION_DOWN时都会触发这个方法。下面的方法可以防止执行两次。
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {

        if (actionId == EditorInfo.IME_ACTION_SEND ||
                (event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
            switch (event.getAction()) {
                case KeyEvent.ACTION_UP:
                    //do it
                    return true;
                default:
                    return true;
            }
        }
        return false;
    }

 

posted @ 2022-08-18 15:12  明天星期五啦  阅读(190)  评论(0编辑  收藏  举报