2 sachinks SachinKS 于 2012.12.20 14:45 提问

改变文本后屏幕就会冻结

在用到addChangeTextListener的时候,一按键屏幕就不动了,代码如下:

email = (EditText) findViewById(R.id.email);


    email.addTextChangedListener(new TextWatcher() 
    { 
        @Override
        public void afterTextChanged(Editable s) 
        { 
            if (email.getText().toString().matches("[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+") 
                    && s.length() > 0)
                error.setText("valid email");
            else
               email.setText("invalid email");              
        }
        @Override
        public void beforeTextChanged(CharSequence arg0, int arg1,int arg2, int arg3) 
        {   
        }
        @Override
        public void onTextChanged(CharSequence arg0, int arg1,int arg2, int arg3) 
        {                   
        } 
    });

1个回答

Kill_it
Kill_it   2012.12.20 15:11
已采纳
email.setText("invalid email");

上面的代码应该是:

error.setText("invalid email");

使用setText(), 再次触发afterTextChanged()

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!