为什么Glide不会将图像从资源ID加载到我的ImageView?

时间:2015-06-04 20:34:24

标签: android android-glide

我已经获得了我的应用程序所需的所有图像,并且我正在尝试将其加速并使其柔滑,所以我一直在使用Glide加载图像,它可以在我的其他区域使用应用程序但不在我的viewpager中。

在我的片段中,我正试图像这样加载我的图像

Glide.with(this).load(R.drawable.my_drawable).into(myImageView);

并且没有任何反应或出现,我也没有收到Glide的异常或任何错误消息。

4 个答案:

答案 0 :(得分:14)

我知道这个问题早已关闭但我通过使用占位符或错误图像找到了一个很好的解决方案。 所以你可以试试

Glide.with(<<MyActivity>>)
    .load("")
    .placeholder(<<myDrawable>>)
    .into(imageView);

不确定这是你想要的,但如果有其他人有同样的问题,至少这似乎可以用最少的工作。 :)

答案 1 :(得分:5)

查看Debugging and Error Handling wiki页面以启用日志记录。这应该告诉你负载是否失败以及原因。

如果您没有看到错误日志,那么您的视图可能没有大小,因为它的大小为0,或者因为它没有经过布局(可见性设置为View.GONE等)。如果是这样,您可以通过添加对override()的调用以及任何有效的宽度和高度来测试检查(尝试400, 400或只是为了测试)。

如果调用override()修复了问题,请查看您的xml,看看您是否可以将视图更改为具有固定大小,或者至少最终以有效大小结束。如果所有其他方法都失败了,您可以随时以override()作为宽度和高度来调用Target.SIZE_ORIGINAL

答案 2 :(得分:0)

如果您使用的是Vector或SVG,您的Glide版本可能不支持此版本且无法加载。

答案 3 :(得分:0)

Tobias Reich's way生成一堆警告日志,原因是加载URL为“”。如果您不需要警告日志,

尝试一下:

int drawableIdentifier = activity.getResources().getIdentifier("my_drawable_image_name", "drawable", activity.getPackageName());
Glide.with(activity)
     .load(drawableIdentifier)
     .into(imageView);