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)
中为空。
根本不会调用侦听器。
答案 0 :(得分:0)
确保uri是正确的。 您可以检查文件是否像这样存在
File fileCheck = new File(uri);
if(fileCheck.exist()){
//Your File is present at the uri
}
如果您仍有问题,可能是issue
所以尝试将.override(w,h)添加到你的滑行