具有\ n的KeyEvent.KEYCODE_ENTER导致两个新行

时间:2018-01-02 07:25:06

标签: android android-edittext newline

我正在使用Edittext,我有KEYCODE_ENTER侦听器。

     emojiconEditText.setOnKeyListener(new View.OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
           if ((keyCode == KeyEvent.KEYCODE_ENTER)) {
            emojiconEditText.append("\n");
            return true;
            }
            return false;
        }
    });

在这里" \ n"导致两个新行,如" \ n" +" \ n"。但我只想要一个换行符。 我正在使用input type = text multi line。

1 个答案:

答案 0 :(得分:2)

此关键事件被触发两次。 首先,当用户按下输入时,第二个是当用户按下输入时。 所以你必须添加一些额外的断言。

 event.getAction() == KeyEvent.ACTION_DOWN