首页 > 解决方案 > 使用'app:errorEnabled =“true”'到TextInputLayout时Android出现错误

问题描述

在我的应用程序中,我有布局 TextInputLayout。当我写行 app:errorEnabled="true" 我收到这个错误

未处理的异常:Android.Views.InflateException:二进制 XML 文件第 1 行:二进制 XML 文件第 1 行:膨胀类 android.support.design.widget.TextInputLayout 时出错

在添加此行之前一切正常

这是我的 TextInputLayout 的代码

<android.support.design.widget.TextInputLayout
    android:id="@+id/til_email"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="130"
    android:layout_marginLeft="25dp"
    android:layout_marginRight="25dp"
    android:theme="@style/TextLabel"
    app:errorTextAppearance="@style/MyErrorText"
    app:errorEnabled="true">
  <EditText
      android:id="@+id/input_email"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:singleLine="true"
      android:inputType="textEmailAddress"
      android:drawableStart="@mipmap/stroke"
      android:drawableLeft="@mipmap/stroke"
      android:theme="@style/TextLabel"
      android:backgroundTint="#9fa7b3"
      android:hint="@string/username" />
</android.support.design.widget.TextInputLayout>

这是我的样式文件代码

<!---Style for LoginPage edit texts-->
<style name="TextLabel" parent="TextAppearance.AppCompat">
<!-- Hint color and label color in FALSE state -->
<item name="android:textColorHint">#353535</item>
<item name="android:textSize">20sp</item>
<!-- Label color in TRUE state and bar color FALSE and TRUE State -->
<item name="colorAccent">#353535</item>
<item name="colorControlNormal">#353535</item>
<item name="colorControlActivated">#55b9aa</item>
<item name="colorControlHighlight">#353535</item>
</style>

<!--Error label text style-->
<style name="MyErrorText" parent="TextAppearance.AppCompat.Small">
<item name="android:textColor">@color/Pink</item>
</style>

我也在使用

公共类登录活动:AppCompatActivity

标签: androidxamarin.androidandroid-textinputlayout

解决方案


app:errorEnabled="true" 删除theme属性没有问题,<android.support.design.widget.TextInputLayout因为您也在设置它EditText

以下是完整代码:

<android.support.design.widget.TextInputLayout
android:id="@+id/til_email"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="130"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp"
app:errorTextAppearance="@style/MyErrorText"
app:errorEnabled="true">
<EditText
  android:id="@+id/input_email"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:singleLine="true"
  android:inputType="textEmailAddress"
  android:drawableStart="@mipmap/stroke"
  android:drawableLeft="@mipmap/stroke"
  android:theme="@style/TextLabel"
  android:backgroundTint="#9fa7b3"
  android:hint="@string/username" />
</android.support.design.widget.TextInputLayout>

推荐阅读