Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
二进制xml文件行错误在较低的android版本上膨胀底部导航视图_Android_Xml_Bottomnavigationview_Android Inflate - Fatal编程技术网

二进制xml文件行错误在较低的android版本上膨胀底部导航视图

二进制xml文件行错误在较低的android版本上膨胀底部导航视图,android,xml,bottomnavigationview,android-inflate,Android,Xml,Bottomnavigationview,Android Inflate,我是android编程的初学者,我一直在尝试在我的应用程序中实现底部导航视图,以便在API 17及以上版本上工作,但在我的API 22棒棒糖手机上运行该应用程序时,该应用程序崩溃,并且在低于API 24(android 7.0)的所有其他android版本上也会崩溃 以下是logcat上显示的错误: 01-30 02:09:40.573 2435-2435/? E/AndroidRuntime: FATAL EXCEPTION: main java.lang.RuntimeExcepti

我是android编程的初学者,我一直在尝试在我的应用程序中实现底部导航视图,以便在API 17及以上版本上工作,但在我的API 22棒棒糖手机上运行该应用程序时,该应用程序崩溃,并且在低于API 24(android 7.0)的所有其他android版本上也会崩溃

以下是logcat上显示的错误:

01-30 02:09:40.573 2435-2435/? E/AndroidRuntime: FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dexter.myapp/com.dexter.myapp.activities.Myapp}: android.view.InflateException: Binary XML file line #17: Error inflating class android.support.design.widget.BottomNavigationView
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
        at android.app.ActivityThread.access$600(ActivityThread.java:141)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:5041)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
        at dalvik.system.NativeStart.main(Native Method)
     Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class android.support.design.widget.BottomNavigationView
        at android.view.LayoutInflater.createView(LayoutInflater.java:613)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
        at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
        at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
        at com.dexter.myapp.activities.Myapp.onCreate(Myapp.java:43)
        at android.app.Activity.performCreate(Activity.java:5104)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
        at android.app.ActivityThread.access$600(ActivityThread.java:141) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:137) 
        at android.app.ActivityThread.main(ActivityThread.java:5041) 
        at java.lang.reflect.Method.invokeNative(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:511) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
        at dalvik.system.NativeStart.main(Native Method) 
     Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Constructor.constructNative(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
        at android.view.LayoutInflater.createView(LayoutInflater.java:587)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687) 
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
        at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
        at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
        at com.dexter.myapp.activities.Myapp.onCreate(Myapp.java:43) 
        at android.app.Activity.performCreate(Activity.java:5104) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
        at android.app.ActivityThread.access$600(ActivityThread.java:141) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:137) 
        at android.app.ActivityThread.main(ActivityThread.java:5041) 
        at java.lang.reflect.Method.invokeNative(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:511) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
        at dalvik.system.NativeStart.main(Native Method) 
     Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f070064
        at android.content.res.Resources.getValue(Resources.java:1014)
        at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:330)
        at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:195)
        at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:188)
        at android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100)
        at android.support.v7.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:491)
        at android.support.design.internal.BottomNavigationItemView.initialize(BottomNavigationItemView.java:100)
        at android.support.design.internal.BottomNavigationMenuView.buildMenuView(BottomNavigationMenuView.java:281)
        at android.support.design.internal.BottomNavigationPresenter.updateMenuView(BottomNavigationPresenter.java:62)
        at android.support.design.widget.BottomNavigationView.inflateMenu(BottomNavigationView.java:236)
        at android.support.design.widget.BottomNavigationView.<init>(BottomNavigationView.java:165)
        at android.support.design.widget.BottomNavigationView.<init>(BottomNavigationView.java:114)
        at java.lang.reflect.Constructor.constructNative(Native Method) 
        at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
        at android.view.LayoutInflater.createView(LayoutInflater.java:587) 
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687) 
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
        at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
        at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
        at com.dexter.myapp.activities.Myapp.onCreate(Myapp.java:43) 
        at android.app.Activity.performCreate(Activity.java:5104) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
        at android.app.ActivityThread.access$600(ActivityThread.java:141) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:137) 
        at android.app.ActivityThread.main(ActivityThread.java:5041) 
        at java.lang.reflect.Method.invokeNative(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:511) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
        at dalvik.system.NativeStart.main(Native Method)
我希望这足以找出问题所在并加以解决

请注意,该应用程序用于API 22,因此我一直想知道是否下载新的Android Studio 3.3。以下是我目前使用的android版本的更多信息:

 Android Studio 3.3
 Build #AI-182.5107.16.33.5199772, built on December 25, 2018
 JRE: 1.8.0_152-release-1248-b01 amd64
 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
 Windows 10 10.0

提前感谢。

欢迎来到Stack Overflow

日志显示运行应用程序时出现2个错误

1.
java.lang.reflect.InvocationTargetException
在这里,您可以使用注释
targetapi

2.
android.content.res.Resources$NotFoundException:Resource ID#0x7f070064
这里您使用的是一个不存在的资源

当您在Android中遇到这样的布局问题时,一个简单的调试技巧是删除视图的所有自定义项,以了解问题的来源。例如,在您看来,属性
app
是在api级别21上添加的。另外,在使用这些资源之前,您需要确认它们是否可用
?android:attr/windowBackground

下面是一个工作示例

<android.support.design.widget.BottomNavigationView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:elevation="8dp"
        android:focusable="true"
        android:focusableInTouchMode="true"
        app:menu="@menu/navigation"
        tools:targetApi="lollipop" />


请注意,
targetApi
限制了较低的API

我也得到了
java.lang.reflect.InvocationTargetException
,因为我试图向
底部导航视图添加5个以上的项


我通过从菜单中删除一些项目来解决它,然后错误消失了

这不是一个“工作示例”,而
@menu/navigation
很可能缺少一个资源。而且
tools:targetApi=“lollipop”
似乎毫无意义;有什么原因吗?问题似乎是图书馆本身的资源:
com.google.android.material.bottomnavigation.BottomNavigationView
可能值得一试。请让我确认并与您联系
<android.support.design.widget.BottomNavigationView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:elevation="8dp"
        android:focusable="true"
        android:focusableInTouchMode="true"
        app:menu="@menu/navigation"
        tools:targetApi="lollipop" />