我有一个EditText,当用户使用回车键时,它会创建一个新行。我希望输入键只能创建一个空格,而不是新行。我不知道这样做。我想要的原因是因为当用户点击Enter时它会创建一个新行,当他们提交消息时,它存储的数据库和空行的数据库然后当它在Android手机上检索并显示时显示并清空行。 / p>
答案 0 :(得分: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;
}
});
答案 1 :(得分: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 });