ため
@Override
public void onValidationFailed(List<ValidationError> errors) {
for (ValidationError error : errors) {
View view = error.getView();
String message = error.getCollatedErrorMessage(this);
if (view instanceof EditText) {
(EditText)view.setError(message);
} else {
Toast.makeText(this, message, Toast.LENGTH_LONG).show();
}
}
}
おかげで私は自分のコードを変更し、それがその後、私は2を上書きし、私はテキスト入力レイアウトにバインドビューを変更するすべての
@Order(1)
@NotEmpty(messageResId = R.string.error_required_field)
@Email(messageResId = R.string.error_invalid_email)
@BindView(R.id.input_layout_email) TextInputLayout inputLayoutEmail;
の
最初に取り組んでいますライブラリのメソッド
@Override
public void onValidationSucceeded() {
loginButton.setAlpha(1);
loginButton.setEnabled(true);
MyTextWatcherUtils.clearAllInputs(inputLayoutList);
}
@Override
public void onValidationFailed(List<ValidationError> errors) {
MyTextWatcherUtils.clearAllInputs(inputLayoutList);
for (ValidationError error : errors) {
View view = error.getView();
String message = error.getCollatedErrorMessage(this);
if (view instanceof TextInputLayout) {
((TextInputLayout) view).setError(message);
}
}
}
毎回レイアウトがクリアである必要があります。
メールでこれについて説明しました。同じ問題に遭遇する可能性のある人のためにあなたのスニペットをここに共有することができればうれしいです。 –