为密码设置Edittext输入类型。但它接受空格作为字符,非英文字母作为特殊字符。我该如何禁用它?
mPassword.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
mPassword.setTypeface(mUsername.getTypeface());
答案 0 :(得分:0)
你可以尝试解决这个问题:
mPassword.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
/** When user changed the Text */
if(mPassword.contains(" ") || mPassword.contains(/*non-english chars*/)){
//set error msg
}
else{
//do stuff
}
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
}
});