EditText经常会禁止输入一些字符,例如,不允许输入空格,不允许回车。
1.不允许输入空格,这里我们采用对EditText添加输入监听:
//监听输入框禁止输入空格
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (s.toString().contains(" ")) {
String[] str = s.toString().split(" ");
String str1 = "";
for (int i = 0; i < str.length; i++) {
str1 += str[i];
}
et_content.setText(str1);
et_content.setSelection(start);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
2.不允许使用回车键,获取到动作标识符,如果值等于EditorInfo.IME_NULL,则回车键被按下,然后进行事件处理,不让其进行:
// 监听回车键
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
return event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER);
}
});