如何调试AppCompat TextView InflateException?

How to debug AppCompat TextView InflateException?

这次崩溃是最近通过我们的崩溃报告系统发生的。我无法重现这次崩溃,迄今为止我们只有 1 份报告。

该应用程序是一个大型应用程序,有许多活动和碎片,堆栈跟踪没有指示应用程序中发生崩溃的位置(整个堆栈跟踪似乎发生在 AndroidAppCompat 类 - 没有提及我的应用代码)。

所以基本上我无法知道我的应用程序中 100 个 TextView 中的哪个 TextView 有问题(不,我不能 post 所有布局 xml 我的整个应用程序的文件)。

鉴于这些信息,任何人都可以提供有关如何调试此堆栈跟踪的建议吗?

Fatal Exception: android.view.InflateException: Binary XML file line #43: Binary XML file line #43: Error inflating class TextView

Caused by android.view.InflateException: Binary XML file line #43: Error inflating class TextView

Caused by java.lang.UnsupportedOperationException: Failed to resolve attribute at index 4: TypedValue{t=0x2/d=0x1010099 a=1}
       at android.content.res.TypedArray.getColor(TypedArray.java:476)
       at android.widget.TextView.<init>(TextView.java:1077)
       at android.widget.TextView.<init>(TextView.java:990)
       at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:62)
       at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:58)
       at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:103)
       at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1029)
       at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1087)
       at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:47)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:865)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:873)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:873)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:525)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:378)
       at android.widget.Editor$SuggestionsPopupWindow.initContentView(Editor.java:3686)
       at android.widget.Editor$PinnedPopupWindow.<init>(Editor.java:3384)
       at android.widget.Editor$SuggestionsPopupWindow.<init>(Editor.java:3669)
       at android.widget.Editor.replace(Editor.java:423)
       at android.widget.Editor.run(Editor.java:2343)
       at android.os.Handler.handleCallback(Handler.java:751)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:154)
       at android.app.ActivityThread.main(ActivityThread.java:6682)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)

问题出在样式 TextView 的父主题上。 检查此文本视图的 ID

如果您在服务中或应用程序上下文中扩充视图,则主题属性在某些时候可能不可用

使用context.setTheme(R.style.your_theme); 在夸大你的观点之前

我用这个解决了同样的错误。

关于此的更多信息ContextThemeWrapper