首页 > 解决方案 > 在某些设备上获取 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)

标签: javaandroidandroid-studioexception

解决方案


推荐阅读