【发布时间】:2015-12-17 09:46:56
【问题描述】:
我正在使用带有 TextInputLayout 的 EditText。这是我用来显示错误的代码。
private boolean validateEmail() {
String email = inputEmail.getText().toString().trim();
if (email.isEmpty() || !isValidEmail(email)) {
inputLayoutEmail.setErrorEnabled(true);
inputLayoutEmail.setError(getString(R.string.err_msg_email));
requestFocus(inputEmail);
return false;
} else {
inputLayoutEmail.setErrorEnabled(false);
}
return true;
}
我在edittext的textwatcher中调用这个方法,就像这个链接http://www.androidhive.info/2015/09/android-material-design-floating-labels-for-edittext/
一旦我输入了一个有效的输入然后清除它,它将按预期显示错误消息,但如果我再次输入文本然后再次清除它,它将不起作用。即它没有显示任何错误消息。
我正在使用compile 'com.android.support:design:23.1.0' 库。
inputLayoutEmail.setErrorEnabled(true);
正在调用,但未显示错误。可能是什么问题?我该如何解决这个问题?
【问题讨论】:
-
更改请求焦点(inputEmail); -> inputEmail.requestFocus();
标签: android validation android-edittext textinputlayout