具有矢量可绘制的ImageView的Resources $ NotFoundException [英] Resources$NotFoundException for ImageView with vector drawable

查看:51
本文介绍了具有矢量可绘制的ImageView的Resources $ NotFoundException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我崩溃了-Resources$NotFoundException一个创建活动时可绘制的向量.在21之前崩溃.

I've got crash - Resources$NotFoundException for a vector drawable upon activity creation. Crashes on pre-21.

  • Android Studio 2.1
  • 支持库24.0.0
  • Gradle插件2.1.0
  • targetSdk 23
  • minSdk 15
  • buildToolsVersion 23.0.2
  • 在模拟器SDK 16上调试

在应用模块build.gradle中,我具有:

in the app module build.gradle i have:

vectorDrawables.useSupportLibrary = true

该活动是AppCompatActivity的子类. 该片段是支持Fragment的子类.

The activity is a subclass of AppCompatActivity. The fragment is a subclass of a support Fragment.

在我打的活动中:

static {
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}

视图xml部分:

<ImageView
            android:layout_width="64dp"
            android:layout_height="match_parent"
            app:srcCompat="@drawable/ic_map_white_24dp"
            android:background="@color/vibrant5"
            android:scaleType="center"/>

可绘制矢量xml:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">
<path
    android:fillColor="#FFffffff"
    android:pathData="M20.5,3l-0.16,0.03L15,5.1 9,3 3.36,4.9c-0.21,0.07 -0.36,0.25 -0.36,0.48V20.5c0,0.28 0.22,0.5 0.5,0.5l0.16,-0.03L9,18.9l6,2.1 5.64,-1.9c0.21,-0.07 0.36,-0.25 0.36,-0.48V3.5c0,-0.28 -0.22,-0.5 -0.5,-0.5zM15,19l-6,-2.11V5l6,2.11V19z"/>

Stacktrace:

Stacktrace:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.buildware.geoworld/com.buildware.geocoord.activities.DashBoardActivity}: android.view.InflateException: Binary XML file line #212: Error inflating class ImageView
                                                                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
                                                                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
                                                                      at android.app.ActivityThread.access$600(ActivityThread.java:130)
                                                                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
                                                                      at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                      at android.os.Looper.loop(Looper.java:137)
                                                                      at android.app.ActivityThread.main(ActivityThread.java:4745)
                                                                      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:786)
                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
                                                                      at dalvik.system.NativeStart.main(Native Method)
                                                                   Caused by: android.view.InflateException: Binary XML file line #212: Error inflating class ImageView
                                                                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
                                                                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
                                                                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                                                                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                                                                      at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830)
                                                                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:736)
                                                                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                                                                      at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
                                                                      at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
                                                                      at com.buildware.geocoord.fragments.DashBoardFragment.onCreateView(DashBoardFragment.java:82)
                                                                      at android.support.v4.app.Fragment.performCreateView(Fragment.java:2074)
                                                                      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1061)
                                                                      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1264)
                                                                      at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1366)
                                                                      at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2409)
                                                                      at android.support.v4.app.FragmentController.onCreateView(FragmentController.java:120)
                                                                      at android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:374)
                                                                      at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:33)
                                                                      at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:75)
                                                                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
                                                                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
                                                                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                                                                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                                                                      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.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)
                                                                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
                                                                      at com.buildware.geoworld.activities.BaseActivity.setContentView(BaseActivity.java:383)
                                                                      at com.buildware.geoworld.activities.BaseActivity.onCreate(BaseActivity.java:198)
                                                                      at com.buildware.geoworld.activities.BaseNavActivity.onCreate(BaseNavActivity.java:124)
                                                                      at com.buildware.geocoord.activities.DashBoardActivity.onCreate(DashBoardActivity.java:26)
                                                                      at android.app.Activity.performCreate(Activity.java:5008)
                                                                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
                                                                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
                                                                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 
                                                                      at android.app.ActivityThread.access$600(ActivityThread.java:130) 
                                                                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 
                                                                      at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                      at android.os.Looper.loop(Looper.java:137) 
                                                                      at android.app.ActivityThread.main(ActivityThread.java:4745) 
                                                                      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:786) 
                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
                                                                      at dalvik.system.NativeStart.main(Native Method) 
                                                                   Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f0200ca
                                                                      at android.content.res.Resources.getValue(Resources.java:1013)
                                                                    at android.support.v7.widget.AppCompatDrawabl

我看不到任何可能出错的信息.我遵循所有矢量准则,但仍然

I can't see anything that could be wrong. I follow all the guidelines for vectors but still

推荐答案

自我回答: 将xml从drawable-anydpi移到drawable可以解决此问题. (但是布局编辑器仍然无法正常工作.)

Self-answering: Moving the xml from drawable-anydpi to drawable fixed the problem. (but the layout editor still doesn't work).

这篇关于具有矢量可绘制的ImageView的Resources $ NotFoundException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆