Android 8.0 Oreo crash on focusing TextInputEditText
I ran into this too. It turns out the issue was caused by setting the hint text on the EditText
nested inside the TextInputLayout
.
I did some digging and found this nugget in the 26.0.0 Beta 2 release notes.Android Support Release Notes June 2017
TextInputLayout must set hints on onProvideAutofillStructure()
That led me to try setting the hint on the TextInputLayout
instead of the nested EditText
.
This resolved the crashing issue for me. Example:
<android.support.design.widget.TextInputLayout android:id="@+id/textInputLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Some Hint Text" android.support.design:hintAnimationEnabled="true" android.support.design:hintEnabled="true" android.support.design:layout_marginTop="16dp"> <android.support.design.widget.TextInputEditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="wrap_content"/></android.support.design.widget.TextInputLayout>
I posted this as an answer here as I mixed up bookmarks. Sorry for posting the same answer twice.
Add below mentioned attribute in your EditText
:
android:importantForAutofill="noExcludeDescendants"
Luke Simpson almost make it right, just should use "styles.xml" instead of "themes.xml".
I created a new style file with version qualifier, aiming to v26, to make it clearer.
Just copy and paste your AppTheme
for the v26/styles.xml and add editTextStyle
items the EditTextStyle
style.
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> ... <item name="android:editTextStyle">@style/App_EditTextStyle</item> <item name="editTextStyle">@style/App_EditTextStyle</item></style><style name="App_EditTextStyle" parent="@android:style/Widget.EditText"> <item name="android:importantForAutofill">noExcludeDescendants</item></style>
In this way you make this changes for all your EditTexts without needing to change your layout files.