我在我的应用中有一个简单的验证,我使用了四个
这是我的xml文件-
EditText
。当EditText
失去焦点时,我会显示错误,但问题是失去焦点后,EditText
只显示图标而不显示错误消息。我尝试使用requestFocus()
方法,现在可以看到错误了,但问题是...现在我的表单显示两个光标,即使第一个字段无效并显示错误,我输入的任何内容都会进入第二个EditText
。有谁能帮我解决这个问题吗?
谢谢。这是我的xml文件-
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:hint="first name"
android:id="@+id/edt_first_name"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="last name"
android:id="@+id/edt_last_name"
android:singleLine="true"
android:layout_below="@+id/edt_first_name"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="email"
android:singleLine="true"
android:id="@+id/edt_email"
android:layout_below="@+id/edt_last_name"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="password"
android:singleLine="true"
android:imeOptions="actionNext"
android:id="@+id/edt_password"
android:layout_below="@+id/edt_email"/>
这是我的主文件,我正在检查验证。
firstname.setOnFocusChangeListener(new View.OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
if (!Validate(firstname.getText().toString())) {
} else {
firstname.setFocusable(true);
firstname.setError("not valid");
}
}else{
firstname.setError(null);
}
}
});