我正在尝试在编辑文本中显示错误图标并尝试下面的代码,但它并未在所有编辑文本字段中显示错误图标。
txtEmailAddess.requestFocus();
txtEmailAddess.setError(result.getEmailAddressMessage());
txtPassword.requestFocus();
txtPassword.setError(result.getPasswordMessage());
在下面的屏幕截图中,它只在密码字段中显示错误图标。但不在电子邮件地址字段中。是否可以在两个字段中显示红色圆形图标?
Xml中的代码
<android.support.design.widget.TextInputLayout
android:id="@+id/lblEmailAddress_login"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/txtEmailAddress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint_email"
android:inputType="textEmailAddress" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/lblPassword_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/lblEmailAddress_login">
<EditText
android:id="@+id/txtPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="45dp"
android:hint="@string/hint_password"
android:inputType="textPassword" />
</android.support.design.widget.TextInputLayout>
答案 0 :(得分:1)
使用TextInputLayout
<android.support.design.widget.TextInputLayout
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</android.support.design.widget.TextInputLayout>
使用以下方式设置错误:
textInputLayout.setError("Error occurs");
答案 1 :(得分:0)
使用if else来设置文本字段中的错误,而不是请求关注文本字段的每个项目
答案 2 :(得分:0)
参考这两个答案(他们肯定会解决您的问题)
Errors with registration form Validation using setError() in Android
答案 3 :(得分:0)
是的,在我的回答中你必须使用if else条件的每个文本字段