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类中,方法onResourceReady(Resource<?> resource, R result)中的requestListener为空。
侦听器根本不会被调用。
发布于 2017-04-05 20:46:24
确保uri是正确的。您可以检查文件是否存在,如下所示
File fileCheck = new File(uri);
if(fileCheck.exist()){
//Your File is present at the uri
}如果您仍然有这个问题,可能是这个issue
因此,尝试将.override(w,h)添加到您的glide
https://stackoverflow.com/questions/39292858
复制相似问题