我使用以下代码在EditText
中显示TextInputLayout
,因此我可以使用setError()
但不使用TextInputLayout
的提示:
<android.support.design.widget.TextInputLayout android:id="@+id/et_title_wrapper"
android:hint=" "
android:layout_marginLeft="32dp" android:layout_marginRight="32dp"
android:layout_width="match_parent" android:layout_height="64dp">
<EditText android:id="@+id/et_title" android:hint="@string/video_title"
android:background="@android:color/transparent"
android:textSize="14sp"
android:layout_width="match_parent" android:layout_height="32dp"
android:gravity="top" android:paddingTop="0dp"
android:layout_marginBottom="@dimen/form_edittext_bottom_margin"
android:singleLine="true" android:imeOptions="actionNext" />
</android.support.design.widget.TextInputLayout>
然而结果是没有出现任何错误。
@Override
public void showErrorTitle() {
Log.i(TAG, "showErrorTitle ");
etTitleWrapper.setError("You need to add title");
etTitleWrapper.setErrorEnabled(true);
}
我可以使用日志确认showErrorTitle()
正在被触发。
答案 0 :(得分:0)
这应该可以,但您可以更改顺序并查看。
更改订单
etTitleWrapper.setErrorEnabled(true);
etTitleWrapper.setError("You need to add title");
答案 1 :(得分:0)
在TextInputLayout xml
中添加此行
app:errorEnabled="true"
修改强>
<EditText android:id="@+id/et_title" android:hint="@string/video_title"
android:background="@android:color/transparent"
android:textSize="14sp"
android:layout_width="match_parent" android:layout_height="32dp"
android:gravity="top" android:paddingTop="0dp"
android:layout_marginBottom="@dimen/form_edittext_bottom_margin"
android:singleLine="true" android:imeOptions="actionNext" />
</android.support.design.widget.TextInputLayout>`