用户输入数据后立即验证EditText内容

时间:2010-08-17 18:35:27

标签: android android-widget

我有2个EditText小部件,一个接受用户名,另一个接受密码。当用户在First EditText中输入用户名时,当焦点在第一个EditText上时,应该验证文本(它应该只接受没有数字的字符)。如何实现这一目标。 当用户输入错误数据时,需要使用EditText中的setError()方法显示错误消息。

2 个答案:

答案 0 :(得分:1)

这是您的解决方案

user= (EditText) findViewById(R.id.editText_userName);
            user.addTextChangedListener(new TextWatcher(){

                @Override
                public void afterTextChanged(Editable arg0) {
                    if (!start.getText().toString().matches("[a-z]") || start.getText().toString() == null) {
                        start.setError("Letters Only");
                    }
                }

                @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 :(得分:0)

将KeyListener附加到EditText。

在'onKey'事件中,验证该字段。

这将捕获用户输入并验证它的每个字符。当EditText被更改时,android清除错误,因此如果条目有效并且如果它无效则不会显示错误消息,设置错误(Username.setError(“Error”))以便显示错误消息/留。

一个警告,这适用于我的一个活动但是当我在另一个活动上实现时,当用户输入数据时,EditText错误不会被清除。