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