android - 清除后 TextInputLayout 不显示错误消息

标签 android user-interface android-textinputlayout

我正在使用来自 com.android.support:design:23.3.0 的 TextInputLayout

当我第一次应用错误时,它会正确显示。

mInputPassword.setError(getString(R.string.error_invalid_password));
mInputEmail.setError(getString(R.string.error_field_required));

enter image description here

在下次登录尝试时,我清除了错误。

mInputEmail.setError(null);
mInputPassword.setError(null);

然后我运行验证并使用与上面相同的代码再次设置错误,但这次应用了红线但错误文本丢失了。 enter image description here

有人知道为什么会发生这种情况或遇到过类似情况吗?

我看到类似的报道here但它适用于旧版本的设计库,不知道它是否仍然是我使用的版本中的问题,

最佳答案

您只需执行以下步骤:

setErrorEnabled(true);
setError("error");

清除:

setError(null);
setErrorEnabled(false);

重复第一步设置新错误。 setError(null) 清除错误消息和图标,所以我认为要显示的 View 已经消失,setErrorEnabled(false) 将重置它。

关于android - 清除后 TextInputLayout 不显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36912602/

相关文章:

Android:屏幕关闭后保持摄像头 LED 亮起

android - 另一个 'The project was not built since its build path is incomplete'

user-interface - Tcl/Tk 中的交互式图表

android - 使用 TextWatcher 在 EditText 中设置最大字数限制

android - TextInputLayout endIcon 背景颜色

android - 禁用/删除 TextInputLayout XML 中的 float 标签提示文本

android - 如何让用户在应用程序启动时选择启动哪个Activity?

user-interface - 如何创建选项卡式 Mathematica 笔记本

java - 是否可以制作一个透明背景的窗口?

android - Android 中的 Activity 太多?