Android TextInputField Inflator Error
Solution 1
Make sure you have the following dependencies in your gradle file:
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:design:22.2.0'
Working example:
<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>
(Setting hintTextAppearance
is not necessary.)
Update:
If you experience issues with the hint text not appearing in newer versions of Android (Marshmallow / Nougat), update library to version 22.2.1 (see TextInputLayout not showing EditText hint before user focus on it).
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:design:22.2.1'
Solution 2
This happened to me as well, and I came up with a solution that does not require changing the App Theme, but merely changing the Theme of the 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>
You will need to add the appCompat library if you have not already:
compile 'com.android.support:appcompat-v7:23.0.1'
Solution 3
in adroidx it worked for me i have the libraries
implementation 'com.android.support:appcompat-v7:28.0.0'
//design widget
implementation 'com.android.support:design:28.0.0'
i change
<android.support.design.widget.TextInputLayout
for
<com.google.android.material.textfield.TextInputLayout
Solution 4
I got the same issue when inflating XML containing TextInputLayout
.
The problem was fixed by setting the correct Style on my application. Just like it says here : android design support library
I've the following issue
Caused by: android.view.InflateException: Binary XML file line #38: Error inflating class android.support.design.widget.TextInputLayout
My style.xml was
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="android:Theme.Material">
<!-- Customize your theme here. -->
</style>
</resources>
As it said in this post on Design Support Library
Note that as the Design library depends on the Support v4 and AppCompat Support Libraries, those will be included automatically when you add the Design library dependency.
So NO NEED TO ADD the following line inside the gradle file
compile 'com.android.support:appcompat-v7:22.2.0'
I found the link behove explaining that the Design Support Library is part of the AppCompat and it require the AppCompat Theme base to work. So I've modify my style.xml to be
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
</resources>
And it worked.
Solution 5
just to be clear as of Android Studio 3.*
this is now changed to
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
(if this goes red a squiggly when you add it accept the version Android Studio wants to suggest)
this needs to be inside the
dependencies {}
section of build.gradle (Module:app)
so it looks like this
dependencies {
...
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
}
then hit sync now
eimmer
Updated on November 22, 2020Comments
-
eimmer over 3 years
Had a crash while trying to use the new
TextInputField
for Android and wanted to share my solution.Trying the new TextInputField in the android appcompat library was crashing my app. Here was my layout 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>
The error I got:
android.view.InflateException: Binary XML file line #20: Error inflating class android.support.design.widget.TextInputLayout.
SOLUTION: Add the
hintTextAppearance
attribute to yourTextInputLayout
, so the lead tag looks like this:<android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content" app:hintTextAppearance="@android:style/TextAppearance.Medium">