为什么具有set输入类型的edittext接受空格和非英文字符

时间:2017-02-02 22:17:21

标签: java android android-edittext android-inputtype

为密码设置Edittext输入类型。但它接受空格作为字符,非英文字母作为特殊字符。我该如何禁用它?

 mPassword.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
    mPassword.setTypeface(mUsername.getTypeface());

1 个答案:

答案 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) {
            }
        });