第一部分:先说用glide踩的坑。
最近在项目中,加载图片用的是glide框架,遇到坑的地方,在load(url),内的url不能丢了。比如:
Glide.with(mContext)
.load("img2.3lian.com/2014/f6/173/d/55.jpg")
.into(ivOrderGoodsImg);
这样,图片无法显示,一般glide载入图片失败有几个原因,1:into()方法没有载入正确的ImageView控件,比如载入到TextView的实例化对象中;2:load()方法中的网址不正确。
第一种情况,很简单就排除了;第二种情况,我把网址拉倒浏览器,可以正常看到图片。
这下我想到glide应该有载入时的监听器,可以让我们知道具体载入失败的原因。简单网上查找后,了解到可以这么写:
直接运行,查看log,java.io.FileNotFoundException: No such file or directory model:img2.3lian.com/2014/f6/173/d/55.jpg isFirstResource: true
写着没有找到目标目录。简单查阅后,发现是load方法中需要在网址里面加入"http://"或者“https://”,否则就会在监听器是提醒上述的错误。
了解原因后,把代码改为:
图片加载正常,问题解决:
第二部分,简单介绍一下glide的用法。
众所周知,gilde的使用相当简单,一般来说形式为:
Glide.with(传入上下文,即context)
.load(图片的网址,http://开头)
.into(imageview实例化对象);
,除此之外,还有 .placeholder()方法,意思为图片未载入前或者图片载入失败是加载的静态资源图片。实际使用发现,此方法要在load()方法之后才可调用,例如:
把.placeholder()放在load()后,可正常调用:
作为菜鸟,暂时只说先客观现象,深究是之后的事情。
未完待续。。谢谢各位看官。