我有TextInputLayout
这样的
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_name"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/edt_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/title_what_should_we_call_you" />
</android.support.design.widget.TextInputLayout>
点击提交按钮时的有效名称我使用
private boolean validateName() {
if (edtName.getText().toString().trim().isEmpty()) {
inputLayoutName.setErrorEnabled(true);
inputLayoutName.setError("Enter name");
return false;
} else {
inputLayoutName.setErrorEnabled(false);
}
return true;
}
当我运行应用时,请不要输入值来命名并点击提交,错误显示(正确)。
然后我输入一些值来命名 - &gt;点按提交 - &gt;错误隐藏(正确)
但后来我清除了所有名字 - &gt;点按提交 - &gt; 错误未显示
为什么会这样?任何帮助或建议都将非常感激。
如果我不使用setErrorEnabled(false);
并将错误消息设置为null,则错误消息视图仍然不可见
答案 0 :(得分:0)
我做了一个样本来测试这个,我所要做的就是:
if (edtName.getText().toString().trim().isEmpty()) {
inputLayoutName.setError("Enter name");
return false;
} else {
inputLayoutName.setErrorEnabled(false);
}
return true;
错误会在您的用例中重新出现。你能来看看吗?