java - 在某些设备上获取 android.view.InflateException
问题描述
我收到由 InflateException 引起的某些设备的崩溃报告。堆栈跟踪没有太大帮助,因为没有导致异常的特定根。也许有人面临同样的问题?我已经在这里找到了一些使用字符串资源的解决方案,而不是硬编码文本的样式。但这总是与堆栈跟踪中显示的按钮或文本视图有关。
java.lang.RuntimeException:
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2563)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2629)
at android.app.ActivityThread.-wrap11 (ActivityThread.java)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1485)
at android.os.Handler.dispatchMessage (Handler.java:111)
at android.os.Looper.loop (Looper.java:207)
at android.app.ActivityThread.main (ActivityThread.java:5723)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:766)
Caused by: android.view.InflateException:
at android.view.LayoutInflater.inflate (LayoutInflater.java:539)
at android.view.LayoutInflater.inflate (LayoutInflater.java:423)
at kerasinosapps.apps.diethelper.HomeFragment.onCreateView (HomeFragment.java:92)
at androidx.fragment.app.Fragment.performCreateView (Fragment.java:2600)
at androidx.fragment.app.FragmentManagerImpl.moveToState (FragmentManagerImpl.java:881)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState (FragmentManagerImpl.java:1238)
at androidx.fragment.app.BackStackRecord.executeOps (BackStackRecord.java:434)
at androidx.fragment.app.FragmentManagerImpl.executeOps (FragmentManagerImpl.java:2079)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether (FragmentManagerImpl.java:1869)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute (FragmentManagerImpl.java:1824)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions (FragmentManagerImpl.java:1727)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange (FragmentManagerImpl.java:2663)
at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated (FragmentManagerImpl.java:2613)
at androidx.fragment.app.FragmentController.dispatchActivityCreated (FragmentController.java:246)
at androidx.fragment.app.FragmentActivity.onStart (FragmentActivity.java:542)
at androidx.appcompat.app.AppCompatActivity.onStart (AppCompatActivity.java:210)
at android.app.Instrumentation.callActivityOnStart (Instrumentation.java:1245)
at android.app.Activity.performStart (Activity.java:6311)
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2526)
Caused by: android.view.InflateException:
at android.view.LayoutInflater.createView (LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:764)
at android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:704)
at android.view.LayoutInflater.rInflate (LayoutInflater.java:835)
at android.view.LayoutInflater.rInflateChildren (LayoutInflater.java:798)
at android.view.LayoutInflater.inflate (LayoutInflater.java:515)
Caused by: java.lang.reflect.InvocationTargetException:
at java.lang.reflect.Constructor.newInstance (Native Method)
at android.view.LayoutInflater.createView (LayoutInflater.java:619)
Caused by: android.view.InflateException:
at android.view.LayoutInflater.inflate (LayoutInflater.java:539)
at android.view.LayoutInflater.inflate (LayoutInflater.java:423)
at com.google.android.material.internal.NavigationMenuPresenter.inflateHeaderView (NavigationMenuPresenter.java:222)
at com.google.android.material.navigation.NavigationView.inflateHeaderView (NavigationView.java:385)
at com.google.android.material.navigation.NavigationView.<init> (NavigationView.java:239)
at com.google.android.material.navigation.NavigationView.<init> (NavigationView.java:122)
Caused by: android.view.InflateException:
at android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:782)
at android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:704)
at android.view.LayoutInflater.rInflate (LayoutInflater.java:835)
at android.view.LayoutInflater.rInflateChildren (LayoutInflater.java:798)
at android.view.LayoutInflater.rInflate (LayoutInflater.java:838)
at android.view.LayoutInflater.rInflateChildren (LayoutInflater.java:798)
at android.view.LayoutInflater.inflate (LayoutInflater.java:515)
Caused by: java.lang.ArrayIndexOutOfBoundsException:
at android.content.res.StringBlock.get (StringBlock.java:65)
at android.content.res.XmlBlock$Parser.getPooledString (XmlBlock.java:458)
at android.content.res.TypedArray.loadStringValueAt (TypedArray.java:1151)
at android.content.res.TypedArray.getString (TypedArray.java:195)
at androidx.appcompat.widget.TintTypedArray.getString (TintTypedArray.java:150)
at androidx.appcompat.widget.AppCompatTextHelper.updateTypefaceAndStyle (AppCompatTextHelper.java:397)
at androidx.appcompat.widget.AppCompatTextHelper.loadFromAttributes (AppCompatTextHelper.java:209)
at androidx.appcompat.widget.AppCompatTextView.<init> (AppCompatTextView.java:108)
at androidx.appcompat.widget.AppCompatTextView.<init> (AppCompatTextView.java:95)
at androidx.appcompat.app.AppCompatViewInflater.createTextView (AppCompatViewInflater.java:194)
at androidx.appcompat.app.AppCompatViewInflater.createView (AppCompatViewInflater.java:115)
at androidx.appcompat.app.AppCompatDelegateImpl.createView (AppCompatDelegateImpl.java:1551)
at androidx.appcompat.app.AppCompatDelegateImpl.onCreateView (AppCompatDelegateImpl.java:1602)
at android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:746)