Glide RequestListener无法正常工作

时间:2016-09-02 12:49:46

标签: android android-glide

Glide RequestListener无效。(我在recycler view中使用它来保存图片后保存图片)。这是相关的代码。

public class GlideImageView extends ImageView {
public void setImageURI(String uri) {
        setImageUri(uri);
    }

    private <T> void setImageUri(T uri) {
        Context context = getContext();

        if (uri != null) {
            DrawableTypeRequest<T> request = Glide.with(context)
                    .load(uri);

                request.asBitmap()
                        .diskCacheStrategy(DiskCacheStrategy.ALL)
                .listener(new RequestListener<T, Bitmap>() {
                    @Override
                    public boolean onException(Exception e, T model, Target<Bitmap> target, boolean isFirstResource) {
                        Log.e("Exception !!!" , e.getMessage());
                        return false;
                    }

                    @Override
                    public boolean onResourceReady(Bitmap resource, T model, Target<Bitmap> target, boolean isFromMemoryCache, boolean isFirstResource) {
                        Log.e("I am working" , "regards request listener");
                        return false;
                    }
                });

            if (placeHolderDrawable != null) {
                request.placeholder(placeHolderDrawable);
            }

            request.into(this);
        } else {
            Glide.clear(this);
            setImageDrawable(placeHolderDrawable);
        }
    }
}

我发现在GenericRequest类中,requestListener在方法onResourceReady(Resource<?> resource, R result)中为空。

根本不会调用侦听器。

1 个答案:

答案 0 :(得分:0)

确保uri是正确的。 您可以检查文件是否像这样存在

File fileCheck = new File(uri);
if(fileCheck.exist()){
//Your File is present at the uri
}

如果您仍有问题,可能是issue

所以尝试将.override(w,h)添加到你的滑行