图片加载11:为Glide添加监听

Glide4的监听机制和Glide3的监听机制有很大的变化,本文只会介绍Glide4的监听机制。

首先粘贴一下代码,为Glide添加一个监听

    //加载网络图片
    Glide.with(this)
            .asBitmap()
            .load("https://img.pc841.com/2018/0922/20180922111049508.jpg")
            .diskCacheStrategy(DiskCacheStrategy.DATA)
            .addListener(new RequestListener<Bitmap>() {

                @Override
                public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
                    //图片加载成功后返回

                    //resource:目标图bitmap
                    //model:load方法里面的值
                    //target:ImageView本身
                    //dataSource:图片资源的来源,MEMORY_CACHE、LOCAL、REMOTE
                    //isFirstResource:是否是第一个资源

                    return false;
                }

                @Override
                public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
                    //图片加载失败后返回

                    //e:报错信息
                    //model:load方法里面的值
                    //target:ImageView本身
                    //isFirstResource:是否是第一个资源

                    return false;
                }

            })
            .into(image_view);

以上代码的监听有两个回调方法,分别是:onResourceReadyonLoadFailed,当图片成功加载后回调onResourceReady方法,当图片加载失败后回调onLoadFailed方法。

[onResourceReady的返回参数]

  • resource

目标图片的bitmap。

  • model

load方法的参数值,如果加载的是res里的资源图片,model就是Integer,如果加载的是url,那么model就是url。

model的类型是Object的,所以model就是加载数据的对象。

  • target

ImageView本身。

  • dataSource

图片资源的来源,如果来自缓存,那么值为MEMORY_CACHE。如果来自本地,那么值为LOCAL。如果是第一次加载网络图片,那么必然是远程获取图片,那么值为REMOTE。

  • isFirstResource

是否是第一次加载资源。

[onResourceReady的返回值]

true:图片显示不出来。

false:图片正常显示。

[onLoadFailed的返回参数]

  • e

加载失败的错误信息。

  • model

load方法的参数值,如果加载的是res里的资源图片,model就是Integer,如果加载的是url,那么model就是url。

model的类型是Object的,所以model就是加载数据的对象。

  • target

ImageView本身。

  • isFirstResource

是否是第一次加载资源。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值