我有一个EditText,它对用户来说是不可编辑的。我正在获取EditText by Calendar对象的值。因此,当用户提交表单而不选择时间时,它将显示选择时间的消息。
etTime.setError("Select Time");
现在用户从日历中选择日期。
etTime.setText(functionWhichReturnsSelectedTime());
我说的是出现在EditText旁边的红色警报标志!!!
但错误信息并没有消失。侦听器只侦听EditText的textChanged((,并检查EditText是否为空?但我并没有提供用户访问EditText的可编辑性。所以错误不会消失。
那么我该如何手动完成呢?
如果您想删除编辑文本上的错误指示器,您必须调用:
etTime.setError(null);
此外,最好重写afterTextChanged()
方法,并且可以在删除错误之前执行验证。