EditText的setError()在某些版本的Lollipop上崩溃

时间:2018-11-29 10:52:20

标签: android

  • 崩溃仅在少数旧设备上发生,到目前为止,只有两个棒棒糖 设备。
  • 我正在使用saripar库进行验证。

android.view.InflateException:二进制XML文件第17行:膨胀类TextView时出错             在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)             在android.view.LayoutInflater.inflate(LayoutInflater.java:482)             在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.widget.TextView.onFocusChanged(TextView.java:8115)             在android.view.View.handleFocusGainInternal(View.java:4946)             在android.view.View.requestFocusNoSearch(View.java:7660)             在android.view.View.requestFocus(View.java:7639)             在android.view.View.requestFocus(View.java:7606)             在android.view.View.requestFocus(View.java:7585)             在com.aez.editprofile.ActivityEditProfile.onValidationFailed(ActivityEditProfile.java:621)             在com.mobsandgeeks.saripaar.Validator.triggerValidationListenerCallback(Validator.java:721)             在com.mobsandgeeks.saripaar.Validator.validateFieldsWithCallbackTill(Validator.java:697)             在com.mobsandgeeks.saripaar.Validator.validateUnorderedFieldsWithCallbackTill(Validator.java:679)             在com.mobsandgeeks.saripaar.Validator.validate(Validator.java:334)             在com.mobsandgeeks.saripaar.Validator.validate(Validator.java:295)             在com.aez.editprofile.ActivityEditProfile.btnSubmitProfileData(ActivityEditProfile.java:705)             在com.aez.editprofile.ActivityEditProfile_ViewBinding $ 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(本机方法)             在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:无法解析索引24处的属性             在android.content.res.TypedArray.getColor(TypedArray.java:401)             在android.widget.TextView(TextView.java:737)             在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.java: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>

1 个答案:

答案 0 :(得分:0)

如果有人在看,在我的情况下,任何不支持edittext的 EditText 中的.seterror

<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>