我的应用程序中有一个简单的验证,这里我使用了四个EdtiText
。我在EditTex
失去焦点时显示错误,但问题是仅失去焦点EditText
显示没有错误消息的图标。我已经尝试使用requestFocus()
方法,现在可以看到错误,但问题是..现在我的表单显示两个游标,即使第一个字段无效并显示错误,无论我输入的是什么,都会进入第二个{{ 1}}。任何人都可以帮我解决这个问题吗?
谢谢。
这是我的xml文件 -
EdtiText
这是我的主要文件,我正在检查验证。
<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"/>
答案 0 :(得分:2)
对材料TextInputLayout
使用EditText
,如:
<android.support.design.widget.TextInputLayout
android:id="@+id/input_application_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="30dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:minHeight="50dp"
android:theme="@style/MyTextInputLayout"
app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout">
<EditText
android:id="@+id/application_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint_application_name"
android:imeOptions="actionNext"
android:inputType="text" />
</android.support.design.widget.TextInputLayout>
并在Activity
TextInputLayout til = (TextInputLayout) findViewById(R.id.input_application_name);
EditText applicationNameEdt = (EditText) findViewById(R.id.application_name);
til.setErrorEnabled(true);
til.setError("You need to enter a name");