Android getDrawable返回null

Android getDrawable返回null,android,bitmap,drawable,Android,Bitmap,Drawable,Pff,这是破坏你日程安排的事情之一,但你不想放弃。两天后,我的一些位图资源不再加载并显示在我的应用程序中。我把它固定在getDrawable()上,在提供的ResID上返回null 我用API 22在Genymotion Nexus 5或Nexus 5物理设备上运行这个。对于我的项目,我主要使用以下方法来加载Drawable ResourcesCompat.getDrawable(context.getResources(),drawableID,null) 但是由于这个问题,我也尝试了con

Pff,这是破坏你日程安排的事情之一,但你不想放弃。两天后,我的一些位图资源不再加载并显示在我的应用程序中。我把它固定在getDrawable()上,在提供的ResID上返回null

我用API 22在Genymotion Nexus 5或Nexus 5物理设备上运行这个。对于我的项目,我主要使用以下方法来加载Drawable

ResourcesCompat.getDrawable(context.getResources(),drawableID,null)

但是由于这个问题,我也尝试了context.getDrawable(id)和getResources().getDrawable(id,getTheme())。每个方法都返回null

其他可能有趣的事情:

  • 资源在我的项目中(在mdpi、hdpi、xhdpi和xxhdpi中)
  • 文件名正确(xxx_yyy_zzz.png)
  • 清理项目/删除的生成产品
  • 从我的repo获取旧图像文件:未加载
  • 已复制并重命名资源:未加载
  • 在“我的图像编辑器”中打开资源并保存为全新文件:不加载
  • 将资源复制到空的虚拟项目中:它们实际显示
  • 我90%的资源都能完美加载,只是一些较大的位图问题
  • 该图像确实显示在Android Studio布局预览中(Nexus 5,Api 22)
  • 我已经包括了一些测试(比如副本),偶尔它们实际上会加载,但这很少见。我真正关心的形象从未载入
我还尝试进入Android代码,并在getDrawable(id)上获取这些代码:

  • 抛出新的IllegalStateException(“已设置覆盖配置”)(ContextThemeWrapper.java)
  • 在AssetManager.java中,getResourceValue我看到一个类型为TypedValue的参数被传递,其字符串为“res/drawable-xxhdpi-v4/{image_name}.png”
后者也引起了一些警钟,因为我没有一个带有-v4后缀的文件夹,所以我想知道为什么它会创建这样的文件夹。但是在androidstudio中单步执行这些代码对我来说并没有什么意义,因为单步执行一个方法通常会将我直接放在Android的一个注释块中

不管怎样,我希望有人在图像资源方面也有一些奇怪的问题,也许能够为我指出正确的方向,解释为什么会发生这种情况。事实上,图像没有损坏,而且我在方法调用或资源文件夹中没有发现任何错误,这让我有点不知所措


提前感谢。

我唯一一次遇到这种情况是在我将要加载的图像放入mipmap文件夹而不是普通的drawables文件夹时


当您开始键入R.drawable时。你能看看你的拖鞋吗

是的,“自动完成”会立即查找我的所有可提取文件,包括我键入R.drawable后未加载的文件。这些资源实际上位于drawable mdpi(以及前面提到的其他变体)文件夹中。