0
我有一個TextInputLayout
這樣錯誤TextInputLayout不顯示再次扯平setErrorEnabled(真)
<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;
}
當我運行的應用程序,不要輸入值來命名並點擊提交,錯誤顯示(正確)。
然後我輸入一些值名稱 - >水龍頭提交 - >錯誤隱藏(正確)
但後來我清除所有的名字 - >水龍頭提交 - >的誤差不顯示
爲什麼它的發生?任何幫助或建議將不勝感激。
如果我不使用setErrorEnabled(false);
和剛剛成立的錯誤信息爲空,錯誤消息仍然看不到的了
錯誤啓用/禁用真的需要嗎? – Shaishav
@Shaishav如果我不使用setErrorEnabled(false);並將錯誤消息設置爲空,錯誤消息的視圖仍然可見不會消失 –
呃......我只在輸入錯誤時才使用顯示功能的錯誤。如果一切都很好,我不會調用'setError()'。爲什麼你需要調用'setError(null)'? – Shaishav