当前位置: 首页 > 知识库问答 >
问题:

Android TextInputField充气机错误

缪远
2023-03-14

在尝试为Android使用新的TextInputField时发生崩溃,并希望分享我的解决方案。

在android appcompat库中尝试新的TextInputField会使我的应用程序崩溃。这是我的布局xml。

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <EditText
        android:id="@+id/email"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="e-mail"
        android:inputType="textEmailAddress"
        android:singleLine="true"/>

</android.support.design.widget.TextInputLayout>

我的错误是:

android.view.InflateException: Binary XML file line #20: Error inflating class android.support.design.widget.TextInputLayout.

解决方案:将hintTextAppearance属性添加到TextInputLayout,使lead标签如下所示:

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:hintTextAppearance="@android:style/TextAppearance.Medium">

共有3个答案

叶德运
2023-03-14

在adroidx中它对我有效我有图书馆

 implementation 'com.android.support:appcompat-v7:28.0.0'
    //design widget
    implementation 'com.android.support:design:28.0.0'

我改变

<android.support.design.widget.TextInputLayout

<com.google.android.material.textfield.TextInputLayout
爱博达
2023-03-14

这也发生在我身上,我想出了一个解决方案,不需要更改应用程序主题,只需要更改TextInputLayout的主题:

<android.support.design.widget.TextInputLayout
    android:id="@+id/testingInputLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/Theme.AppCompat">

   <EditText
       android:id="@+id/testingEditText"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:hint="@string/testText"
       android:inputType="textEmailAddress" />

</android.support.design.widget.TextInputLayout>

如果尚未添加appCompat库,则需要添加:

compile 'com.android.support:appcompat-v7:23.0.1'
段阳夏
2023-03-14

确保gradle文件中有以下依赖项:

compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:design:22.2.0'

工作示例:

<android.support.design.widget.TextInputLayout
    android:id="@+id/txtEmail_InpLyt"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress"
        android:ems="10"
        android:id="@+id/txtEmail"
        android:hint="Email Address"
        android:singleLine="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"/>
</android.support.design.widget.TextInputLayout>

(无需设置hintTextAppearance。)

更新:

如果您遇到提示文本未出现在较新版本的Android(Marshmallow/牛轧糖)中的问题,请将库更新到22.2.1版(请参阅TextInputLayout在用户关注之前未显示EditText提示)。

compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:design:22.2.1'
 类似资料: