Android - 在oppo设备上出现InflateException错误

3

我在Crashlytics中遇到了一个奇怪的InflateException异常。这只发生在安卓5.1版本的Oppo设备上。从堆栈跟踪中可以清楚地看出,问题出在TextView上。以下是堆栈跟踪:

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 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:69)
   at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
   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)    

在调试过程中,我认为导致TextView出现问题的原因是:
<TextView
        android:id="@android:id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:fadingEdge="horizontal"
        android:singleLine="true"
        android:textColor="?android:attr/textColorPrimary"
        android:textSize="16sp"
        tools:text="Title" />

我在这段代码中找不到任何错误。我该如何解决?


这很奇怪,使用android.support.v7.widget.AppCompatTextView来查看是否在这些设备上也会导致错误。 - Abid Khan
1
@Ruthwik,这个问题有什么更新吗?你找到解决方案了吗? - Sonu Sanjeev
很遗憾,没有@sonu-sanjeev。 - Ruthwik Warrier
感谢@Ruthwik的回复。 - Sonu Sanjeev
1个回答

0

我认为这一行有错误

android:textColor="?android:attr/textColorPrimary"

应该用@而不是?,或者尝试使用颜色的#000哈希码。

并且告诉我在xml文件的第42行写了什么。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接