美文网首页
TextView.setError() 验证用户输入

TextView.setError() 验证用户输入

作者: HungerDeng | 来源:发表于2018-10-10 17:53 被阅读0次
    editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
                @Override
                public void onFocusChange(View v, boolean hasFocus) {
                    if (editText.hasFocus()==false){
                        checkPhoneIsLegal(editText);
                    }else {
                        editText.setError(null,null);
                    }
                }
            });
    
    
        private void checkPhoneIsLegal(EditText editText) {
            String phoneNum=editText.getText().toString();
            if (!validatePhoneNumber(phoneNum)){
                Drawable drawable = getResources().getDrawable(R.drawable.iconfont_user);//获取图片资源
                /**
                 * Drawable直接get出来是没有边界的,就不能显示出来,需要通过setBounds方法加上边界,才能正常显示!
                 * 当然如果不设置图片也可以,这样显示的是一个默认的感叹号图标!
                 */
                drawable.setBounds(0, 0, 72, 72);
                editText.setError("手机号码错误",drawable);
            }
    
        }
    
        //验证手机号的格式是否合法
        private boolean validatePhoneNumber(String number) {
            Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");//正则表达式
            Matcher m = p.matcher(number);
            return m.matches();
        }
    

    相关文章

      网友评论

          本文标题:TextView.setError() 验证用户输入

          本文链接:https://www.haomeiwen.com/subject/xvqplftx.html