android - Glide 监听器不起作用

标签 android callback imageview android-glide

我正在使用 Glide 加载图像,并添加了一个监听器以了解资源何时准备好或是否存在任何类型的错误:

Glide.with(mContext)
    .load(url)
    .placeholder(R.drawable.glide_placeholder)
    // use dontAnimate and not crossFade to avoid a bug with custom views
    .dontAnimate()
    .diskCacheStrategy(DiskCacheStrategy.ALL)
    .listener(new RequestListener<String, GlideDrawable>() {
        @Override
        public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
            // do something
            return true;
        }

        @Override
        public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
            // do something
            return true;
         }
    })
    .into(mCustomImageView);

该应用程序永远不会在 onResourceReadyonException 内运行,但如果我删除监听器并让异步下载没有回调,它会正常运行:

Glide.with(mContext)
    .load(url)
    .placeholder(R.drawable.glide_placeholder)
    // use dontAnimate and not crossFade to avoid a bug with custom views
    .dontAnimate()
    .diskCacheStrategy(DiskCacheStrategy.ALL)
    .into(mCustomImageView);

我也尝试使用 GlideDrawableImageViewTarget 而不是监听器来接收回调,但应用程序在 onLoadStarted 内部运行,但从未在 onLoadClearedonLoadFailed 内部运行onResourceReady.

最佳答案

如果 ImageView 不可见或消失,这似乎是一个错误。我在这里打开了一个问题:https://github.com/bumptech/glide/issues/618

关于android - Glide 监听器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32503327/

相关文章:

android - 无法处理自定义 FirebaseInstanceIDService Android 中的刷新 token

c++ - Qt 回调列表

callback - 将结构方法设置为回调

javascript - 是否可以触发/绑定(bind) jQuery UI 事件?

android - 加载图像时滑动圆角

android - 在 Touch Android 上具有拖动、滚动和缩放功能的三角形 ImageView

javascript - 框架7 : How to refresh a page after changing template data?

安卓布局模板?

android - 触摸图像时,全屏 ImageView 和缩放应该可以工作

java - 切换主题