0

我有一个 EditText,当用户使用回车键时,它会创建一个新行。我希望回车键只创建一个空格,而不是一个新行。我不知道这样做。我想这样做的原因是,当用户单击 Enter 时,它会创建一个新行,当他们提交消息时,它存储的消息和数据库带有一个空行,然后当它被检索并显示在 android 手机上时,它会显示和空行。

4

2 回答 2

1

尝试这个:

 final EditText edittext = (EditText) findViewById(R.id.edittext);
    edittext.setOnKeyListener(new OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            // If the event is a key-down event on the "enter" button
            if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
                (keyCode == KeyEvent.KEYCODE_ENTER)) {
              // Perform action on key press
              editText.setText(editText.getText() + " ");
              return true;
            }
            return true;
        }
    });
于 2013-09-16T03:28:29.370 回答
0

试试这种方法效果很好

EditText edit = (EditText) findViewById(R.id.edit);

        InputFilter filter = new InputFilter() {
            public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {

                for (int i = start; i < end; i++) {

                    if (source.charAt(i) == '\n') {
                        return " ";
                    }
                }
                return null;
            }
        };

        edit.setFilters(new InputFilter[] { filter });
于 2013-09-16T04:48:55.790 回答