android - 在运行 5.1.1 的 Oppo F1S 中点击 TextInputLayout 崩溃

标签 android android-layout android-textinputlayout textinputlayout

在运行 5.1.1 的 Oppo F1S 中,单击 TextInputLayout 后,应用会在延迟 1 秒后崩溃。我无法访问设备,我收到了 crashlytics 报告的崩溃,然后我让我的远程 friend 在他们的 oppo 手机上尝试一下。

我无法找出原因,而且由于我无法访问该设备,我发现解决这个问题非常困难。

它在其他设备上工作正常,甚至在运行 8.1.0 的 oppoF7 上也能正常工作

这是我的 XML

   <android.support.design.widget.TextInputLayout
            android:id="@+id/til_email"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginEnd="24dp"
            android:layout_marginStart="24dp"
            android:layout_marginTop="32dp"
            android:theme="@style/TextLabel"
            app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="1.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/textView53">

            <android.support.v7.widget.AppCompatEditText
                android:id="@+id/et_email"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#00000000"
                android:drawablePadding="10dp"
                android:hint="Email"
                android:inputType="textEmailAddress"
                android:onTextChanged="@{(text, start, before, count) -> activity.onEmailChanged(text)}"
                android:paddingTop="10dp"
                app:backgroundTint="@color/black" />
        </android.support.design.widget.TextInputLayout>

这是 styles.xml

<!--Input field style-->
    <style name="MyEditText" parent="Theme.AppCompat.Light">
        <item name="colorControlNormal">@color/black</item>
        <item name="colorControlActivated">@color/black</item>
        <item name="android:textColorHint">@color/greish</item>
        <item name="android:textSize">14sp</item>
        <item name="colorAccent">@color/black</item>
    </style>
    <style name="ErrorText" parent="TextAppearance.AppCompat">
        <item name="android:textStyle">bold|italic</item>
        <item name="android:textColor">@color/colorPrimary</item>
    </style>

    <style name="TextLabel" parent="TextAppearance.AppCompat">



 <style name="TextAppearance.App.TextInputLayout" parent="@android:style/TextAppearance">
        <item name="android:textColor">@color/greish</item>
        <item name="android:textSize">12sp</item>
    </style>

堆栈跟踪 1

Fatal Exception: android.view.InflateException: Binary XML file line #42: Error inflating class TextView
   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
   at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
   at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
   at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
   at android.widget.OppoCursorController$FloatPanelViewController.<init>(OppoCursorController.java:1585)
   at android.widget.OppoCursorController.createFloatPanelViewController(OppoCursorController.java:134)
   at android.widget.OppoCursorController$SelectionModifierCursorController.<init>(OppoCursorController.java:518)
   at android.widget.OppoCursorController.create(OppoCursorController.java:81)
   at android.widget.OppoEditor.getOppoSelectionController(OppoEditor.java:417)
   at android.widget.OppoEditor.onTouchEventWrap(OppoEditor.java:322)
   at android.widget.TextView.onTouchEvent(TextView.java:8189)
   at android.view.View.dispatchTouchEvent(View.java:8472)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2440)
   at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1748)
   at android.app.Activity.dispatchTouchEvent(Activity.java:2840)
   at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:68)
   at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2379)
   at android.view.View.dispatchPointerEvent(View.java:8667)
   at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4446)
   at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4234)
   at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3767)
   at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3830)
   at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3786)
   at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3913)
   at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3794)
   at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3970)
   at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3767)
   at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3830)
   at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3786)
   at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3794)
   at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3767)
   at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6165)
   at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6139)
   at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6110)
   at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6255)
   at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:218)
   at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
   at android.os.MessageQueue.next(MessageQueue.java:150)
   at android.os.Looper.loop(Looper.java:139)
   at android.app.ActivityThread.main(ActivityThread.java:5541)
   at java.lang.reflect.Method.invoke(Method.java)
   at java.lang.reflect.Method.invoke(Method.java:372)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:964)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759)

堆栈跟踪 2:

Caused by java.lang.RuntimeException: Failed to resolve attribute at index 24
   at android.content.res.TypedArray.getColor(TypedArray.java:401)
   at android.widget.TextView.<init>(TextView.java:709)
   at android.widget.TextView.<init>(TextView.java:645)
   at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:75)
   at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:71)
   at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:103)
   at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1024)
   at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1081)
   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
   at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
   at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
   at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
   at android.widget.OppoCursorController$FloatPanelViewController.<init>(OppoCursorController.java:1585)
   at android.widget.OppoCursorController.createFloatPanelViewController(OppoCursorController.java:134)
   at android.widget.OppoCursorController$SelectionModifierCursorController.<init>(OppoCursorController.java:518)
   at android.widget.OppoCursorController.create(OppoCursorController.java:81)
   at android.widget.OppoEditor.getOppoSelectionController(OppoEditor.java:417)
   at android.widget.OppoEditor.onTouchEventWrap(OppoEditor.java:322)
   at android.widget.TextView.onTouchEvent(TextView.java:8189)
   at android.view.View.dispatchTouchEvent(View.java:8472)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2417)
   at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2050)
   at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2440)
   at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1748)
   at android.app.Activity.dispatchTouchEvent(Activity.java:2840)
   at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:68)
   at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2379)
   at android.view.View.dispatchPointerEvent(View.java:8667)
   at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4446)
   at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4234)
   at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3767)
   at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3830)
   at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3786)
   at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3913)
   at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3794)
   at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3970)
   at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3767)
   at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3830)
   at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3786)
   at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3794)
   at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3767)
   at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6165)
   at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6139)
   at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6110)
   at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6255)
   at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:218)
   at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
   at android.os.MessageQueue.next(MessageQueue.java:150)
   at android.os.Looper.loop(Looper.java:139)
   at android.app.ActivityThread.main(ActivityThread.java:5541)
   at java.lang.reflect.Method.invoke(Method.java)
   at java.lang.reflect.Method.invoke(Method.java:372)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:964)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759)

知道可能是什么问题吗?(我无权访问该设备,我从 crashlytics 获得了堆栈跟踪)

我们将不胜感激。

最佳答案

使用 android.support.v7.widget.AppCompatEditText 而不是 Edittext 并且不要使用 android:onclick 属性,它会崩溃在 Lollipop 设备上。

关于android - 在运行 5.1.1 的 Oppo F1S 中点击 TextInputLayout 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50717183/

相关文章:

android - CamcorderProfile.QUALITY_HIGH 分辨率产生绿色闪烁视频

java - 无法使用 Oauth 找到我的项目的服务器客户端 secret

android - 水平弯曲滑动菜单

Android - 看似无害的布局导致应用程序在短暂使用后崩溃而没有任何错误

android - 如何在 TextInputLayout unfocus 中更改边框和颜色?

android - Material 组件 TextInputEditText 底线边距

android - LIBGDX 相机不动

android - 打开其他应用后,Android应用崩溃

android - GIF 不显示在 Samsung Galaxy Note 2 上

android - 如何更改 TextInputLayout 中密码切换的颜色?