Java 导致原因:android.view.InflateException:二进制XML文件行#16:错误膨胀class com.google.android.material.navigation.NavigationView
我的应用程序正在使用新的AndroidX框架,在设置Java 导致原因:android.view.InflateException:二进制XML文件行#16:错误膨胀class com.google.android.material.navigation.NavigationView,java,android,material-design,navigationview,androidx,Java,Android,Material Design,Navigationview,Androidx,我的应用程序正在使用新的AndroidX框架,在设置com.google.android.material.navigation.NavigationView(在我的activity\u main.xml文件中)时,我遇到了以下错误: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gaucow.betterbartersystem/com.gaucow.betterbartersystem.MainA
com.google.android.material.navigation.NavigationView
(在我的activity\u main.xml文件中)时,我遇到了以下错误:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.gaucow.betterbartersystem/com.gaucow.betterbartersystem.MainActivity}: android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class com.google.android.material.navigation.NavigationView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2947)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3008)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6688)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
Caused by: android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class com.google.android.material.navigation.NavigationView
Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class com.google.android.material.navigation.NavigationView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:652)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794)
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.inflate(LayoutInflater.java:525)
at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
at android.view.LayoutInflater.inflate(LayoutInflater.java:378)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.gaucow.betterbartersystem.MainActivity.onCreate(MainActivity.java:38)
at android.app.Activity.performCreate(Activity.java:6912)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2900)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3008)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6688)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x0
at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:202)
at android.content.res.Resources.getColorStateList(Resources.java:1861)
at android.content.Context.getColorStateList(Context.java:542)
at androidx.appcompat.content.res.AppCompatResources.getColorStateList(AppCompatResources.java:67)
at com.google.android.material.navigation.NavigationView.createDefaultColorStateList(NavigationView.java:513)
at com.google.android.material.navigation.NavigationView.<init>(NavigationView.java:153)
at com.google.android.material.navigation.NavigationView.<init>(NavigationView.java:104)
java.lang.RuntimeException:无法启动活动组件信息{com.gaucow.betterbartersystem/com.gaucow.betterbartersystem.MainActivity}:android.view.InflateException:二进制XML文件行#16:二进制XML文件行#16:错误膨胀类com.google.android.material.navigation.NavigationView
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2947)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3008)
位于android.app.ActivityThread.-wrap14(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:154)
位于android.app.ActivityThread.main(ActivityThread.java:6688)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
原因:android.view.InflateException:二进制XML文件行#16:二进制XML文件行#16:错误膨胀class com.google.android.material.navigation.NavigationView
导致原因:android.view.InflateException:二进制XML文件行#16:错误膨胀class com.google.android.material.navigation.NavigationView
原因:java.lang.reflect.InvocationTargetException
位于java.lang.reflect.Constructor.newInstance0(本机方法)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:430)
位于android.view.LayoutInflater.createView(LayoutInflater.java:652)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:865)
位于android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828)
在android.view.LayoutInflater.充气(LayoutInflater.java:525)
在android.view.LayoutInflater.充气(LayoutInflater.java:427)
在android.view.LayoutInflater.inflate(LayoutInflater.java:378)
位于androidx.appcompat.app.appcompatedelegateimpl.setContentView(appcompatedelegateimpl.java:469)
位于androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
位于com.gaucow.betterbartersystem.MainActivity.onCreate(MainActivity.java:38)
位于android.app.Activity.performCreate(Activity.java:6912)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2900)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3008)
位于android.app.ActivityThread.-wrap14(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:154)
位于android.app.ActivityThread.main(ActivityThread.java:6688)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
原因:android.content.res.Resources$NotFoundException:资源ID#0x0
位于android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:202)
位于android.content.res.Resources.getColorStateList(Resources.java:1861)
位于android.content.Context.getColorStateList(Context.java:542)
位于androidx.appcompat.content.res.AppCompatResources.getColorStateList(AppCompatResources.java:67)
在com.google.android.material.navigation.NavigationView.createDefaultColorStateList(NavigationView.java:513)上
在com.google.android.material.navigation.NavigationView.(NavigationView.java:153)
在com.google.android.material.navigation.NavigationView.(NavigationView.java:104)
我的代码在这里:
谢谢你帮我解决这个问题
PS:我已经研究了可能重复的问题,答案涉及到android.support
库。但是,由于我没有在代码中使用支持库或设计库,因此解决方案不适用于我。NavigationView
的android.support
版本和NavigationView
的android材质版本是不同的
我也尝试使用此链接提供帮助,但我找不到答案:如下更改您的样式
<style name="AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
@颜色/原色
@颜色/原色暗
@颜色/颜色重音
假的
真的
将您的舱单更改为
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name_real"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
<activity android:name=".SignIn" android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:theme="@style/AppTheme.NoActionBar"
android:name=".MainActivity"
android:label="@string/title_activity_main"/>
</application>
尝试删除nav_header_main.xml文件中的所有大图像(背景、图标等) 你忘了为com.android.support:design:27.1.1'@Nilesh添加导航视图的依赖项他已经添加了库implementation'com.google.android.material:material:1.0.0-rc02'
@Bek它的相同问题检查异常,原因是:android.content.res.Resources$NotFoundException:Resource ID#0x0
是@NileshRathod的副本,答案是support和appcompat库应该是相同的。在我的例子中,material library和androidx library是同一个版本,因此解决方案不适用。我得到了相同的错误,但这次是因为膨胀MaterialButton
:java.lang.RuntimeException:无法