android - EditText 的 setError() 在某些版本的 Lollipop 上崩溃
问题描述
- 崩溃只发生在少数旧设备上,到目前为止在两个棒棒糖设备上。
- 我正在使用 saripar 库进行验证。
android.view.InflateException: Binary XML file line #17: Error inflating class TextView at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763) at android.view.LayoutInflater.inflate(LayoutInflater.java:482) at android。 view.LayoutInflater.inflate(LayoutInflater.java:414) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:365) 在 android.widget.Editor.showError(Editor.java:353) 在 android.widget.Editor.onFocusChanged (Editor.java:1117) 在 android.view.View.handleFocusGainInternal(View.java:4946) 在 android.view.View.requestFocusNoSearch(View.java: 7660)在 android.view.View 的 android.view.View.requestFocus(View.java:7639)。requestFocus(View.java:7606) 在 com.aez.editprofile.ActivityEditProfile.onValidationFailed(ActivityEditProfile.java:621) 在 com.mobsandgeeks.saripaar.Validator.triggerValidationListenerCallback 的 android.view.View.requestFocus(View.java:7585) (Validator.java:721) 在 com.mobsandgeeks.saripaar.Validator.validateFieldsWithCallbackTill(Validator.java:697) 在 com.mobsandgeeks.saripaar.Validator.validateUnorderedFieldsWithCallbackTill(Validator.java:679) 在 com.mobsandgeeks.saripaar.Validator。在 com.mobsandgeeks.saripaar.Validator.validate(Validator.java:295) 在 com.aez.editprofile.ActivityEditProfile.btnSubmitProfileData(ActivityEditProfile.java:705) 在 com.aez.editprofile.ActivityEditProfile_ViewBinding 进行验证(Validator.java:334) 3 美元。doClick(ActivityEditProfile_ViewBinding.java:96) 在 butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22) 在 android.view.View.performClick(View.java:4764) 在 android.view.View$PerformClick.run(View .java:19844) 在 android.os.Handler.handleCallback(Handler.java:739) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:135)在 android.app.ActivityThread.main(ActivityThread.java:5349) 在 java.lang.reflect.Method.invoke(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android .internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703) 原因:java.lang.RuntimeException:无法解析 android.content.res.TypedArray.getColor(TypedArray.java:401) 处 android.widget.TextView.(TextView.java:737) 处索引 24 处的属性android.widget.TextView.(TextView.java:674) 在 android.support.v7.widget.AppCompatTextView.(AppCompatTextView.java:75) 在 android.support.v7.widget.AppCompatTextView.(AppCompatTextView.java:71) 在android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:103) 在 android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1024) 在 android.support.v7.app.AppCompatDelegateImplV9.onCreateView( AppCompatDelegateImplV9.java:1081) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.爪哇:725)
部分xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/TextInputLayout_Theme">
<EditText
android:id="@+id/LastNameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Last Name*"
android:inputType="textPersonName"
android:imeOptions="actionNext"
android:theme="@style/EditText_Theme" />
</android.support.design.widget.TextInputLayout>
</LinearLayout>
解决方案
如果有人在看,在我的情况下,任何EditText中的 .seterror不支持 edittext 由
<android.support.design.widget.TextInputLayout
是问题所以我不得不删除支持设计小部件,现在它工作正常。
这发生在我的 LG G2 Lollipop 版本和 Lollipop 上的低端三星上。
工作 xml 示例
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/text_input_FirstNameEditText">
<android.support.design.widget.TextInputEditText
android:id="@+id/FirstNameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="First Name *"
android:imeOptions="actionNext"
android:inputType="textPersonName|textCapWords"
android:theme="@style/EditText_Theme_without_Special"
android:textColorHint="@color/font_red"/>
</android.support.design.widget.TextInputLayout>
推荐阅读
- python - Python WAND 调整质量差
- python - 在 setuptools 的 extras_require 中从私有 PyPi 安装库
- python - Python中某些类型的数组
- javascript - 如何在 React.js 中加粗部分文本?
- google-sheets - 查询公式给出无法使用 =sum() 求和的值
- excel - 固定范围选择
- python - rest_framework 路由器的模板中的链接
- single-sign-on - Zendesk:管理员用户无法使用企业 SSO
- java - OWLApi 访问者模式:获取超类公理
- postgresql - 可变参数的切片索引