为什么使用设置输入类型编辑文本接受空格和非英语字符



为密码设置了编辑文本输入类型。但它接受空格作为字符,接受非英语字母作为特殊字符。如何禁用它?

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

您可以尝试解决此问题:

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

最新更新