2016-09-02 87 views
0

Glide RequestListener無法正常工作(我正在使用它在recycler view下載後保存圖像)。這是相關的代碼。Glide RequestListener不工作

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

確保uri是正確的。 您可以檢查文件是否存在這樣的

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

如果你仍然有問題,可能是這個issue

所以嘗試添加.override(W,H),以你的滑翔