当前位置:  开发笔记 > Android > 正文

TextInputLayout错误颜色未被清除?

如何解决《TextInputLayout错误颜色未被清除?》经验,为你挑选了1个好方法。

我有一个带有EditText的TextInputLayout.

这是我的xml:



    


我的java代码:

((TextInputLayout) findViewById(R.id.textInputLayout)).setError("ERROR");

当我调用setError("ERROR")时,标签(提示)颜色和EditText的底线颜色变为红色并出现错误.这是我期望的行为.

现在让我们说在销毁我的活动之前我不会调用setError(null).现在我再次打开相同的活动.我可以看到我的应用程序里面的所有EditText字段的底线都是红色的,虽然标签颜色似乎被重置并且错误消息被取消.这并不总是可重复的,但如果我继续尝试,我最终可以得到它.

我正在使用带有5.1.1的Nexus 4.

难道我做错了什么?



1> Richard Le M..:

这是由于AppCompat库中错误.

问题190829:TextInputLayout setError导致应用程序中的所有TIL都带有红色下划线

elyess.a ... @ gmail.com报告,2015年10月19日使用设计支持库23.1.0

重现问题的步骤(如果适用,包括示例代码).

一个TIL上的SetError(即表单中)

TIL有一个红色下划线(ok)

向后导航并再次输入活动.或者使用TIL转到另一个活动.

发生了什么.

即使在其他活动中,所有TIL都有一个红色下划线.(但没有错误文本).

只有在强行关闭应用程序后,红色下划线才会消失.

另据报道:

问题190355:TextInputLayout setError()在清除后不会显示错误


问题状态已更改为FutureRelease2015年11月11日,因此我们希望很快能够解决问题.

与此同时,似乎有3种解决方法:

用库的v23.0.1编译

但这引入了一个类似的问题,其中错误行没有重置

EditText在布局顶部添加一个不可见的内容

首先运行以下代码 EditText

editText.setBackground(editText.getBackground().getConstantState().newDrawable())

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有