在我的Android应用程序中,我只需要禁用空格键。但是我没有找到解决这个问题的方法。我需要禁用空格键,并且当用户输入空格时不应起作用;特殊字符、字母、数字和其他所有内容-应该正常工作。我尝试过的是:
etPass.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
String str = s.toString();
if(str.length() > 0 && str.contains(" ")) {
etPass.setError("Space is not allowed");
etPass.setText("");
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
但问题在于,一旦输入空格,整个文本都会被删除。
我已经移除了etPass.setText("");
,所以在这种情况下会显示错误消息,但此时用户仍然可以输入空格。但我的要求是用户不应该能够输入空格。