gpt4 book ai didi

android - 显示错误的 TextInputLayout 的 setError

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:51:36 24 4
gpt4 key购买 nike

TextInputLayout 工作正常,当尝试设置 Error 时显示错误。

代码:

 if (etFirstName.getText().length() == 0) {
etFirstName.requestFocus();
tvFirstName.setError("Please enter firstname");
} else {
tvFirstName.setError(null);
tvFirstName.setErrorEnabled(false);
}

检查日志:

java.lang.RuntimeException: Failed to resolve attribute at index 24
at android.content.res.TypedArray.getColor(TypedArray.java:401)
at android.widget.TextView.<init>(TextView.java:692)
at android.widget.TextView.<init>(TextView.java:629)
at android.widget.TextView.<init>(TextView.java:625)
at android.widget.TextView.<init>(TextView.java:621)
at android.support.design.widget.TextInputLayout.setErrorEnabled(TextInputLayout.java:297)
at android.support.design.widget.TextInputLayout.setError(TextInputLayout.java:344)

最佳答案

虽然我没有完全理解为什么会出现这个问题,但它必须对 Android 如何根据其状态将颜色应用于 View 做一些事情。

这是我解决问题的方法:

1) 定义自定义样式,仅用于设置错误(或提示)的样式:

在你的 res/values/styles.xml 添加新的样式节点:

    <style name="error" parent="@android:style/TextAppearance">
<item name="android:textColor">@color/colorAccent</item> <!--apply the color you wat here -->
<item name="android:textSize">12dp</item>
</style>

2) 将样式应用于您的 TextInputLayout:

此外,请确保您指定了 errorEnabled 属性:

<android.support.design.widget.TextInputLayout
android:id="@+id/input_email_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
app:errorEnabled="true"
app:errorTextAppearance="@style/error"
>
<android.support.design.widget.TextInputEditText
android:id="@+id/input_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:hint="@string/hint_email"/>
</android.support.design.widget.TextInputLayout>

关于android - 显示错误的 TextInputLayout 的 setError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36397122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com