Resources$NotFoundException Resource is not a Drawable (color or path) 问题解决

Resources$NotFoundException: Resource is not a Drawable (color or path) 问题解决


作为一个新手,最近在写自定义视图的时候出现了如下的问题

Caused by: android.content.res.Resources$NotFoundException: Resource "com.example.flowlayout:drawable/shape_button_circular" (7f060063)  is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f060063 a=-1 r=0x7f060063}

App运行的时候的现象是应用直接闪退

以为是android-studio的常见抽风,clean project或者invalidate caches/restart这些操作都已经操作过了,发现依然不行。

然后就注意到了drawable后面的(v24后缀),感觉很可能是真机的版本问题,尝试新建一个同名的drawable然后将目标目录设置到如下文件夹(drawable)下即可
在这里插入图片描述
我是这么理解的,Android每个版本都会推出一定的新的特性,然后为了适应这些特性,会对drawable这类的资源问题添加特定的新的标签<tag></tag>。但是很明显,这些标签很可能不能像低版本兼容。所以面对这样的情况,只能对于特定的版本专门定义一个目录来存储对应的素材,就像此处的drawable-v24。app在运行的时候会根据当前运行的系统android-sdk版本来到对应的素材版本文件夹下去查找对应的素材。

所以这里我的真机的版本要低于7.0也就是低于v24版本,所以他会直接到drawable文件夹而不是drawable-v24文件夹中去寻找对应的资源文件,当然就找不到了,从而就会报出Resources$NotFoundException(找不到资源)的问题。


感谢和参考

关于drawable和drawable-v24_移动开发_lyblyblyblin的博客-CSDN博客
Adaptive icon 一 :理解 Android 的「自适应图标」

猜你喜欢

转载自blog.csdn.net/qq_31433709/article/details/106467725
今日推荐