2016-09-02 3 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)にnullであることが分かりました。

リスナーはまったく呼び出されません。

答えて

0

uriが正しいことを確認してください。 ファイルは、uはまだ問題が発生した場合、それはこのissue

かもしれません。この

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

のように存在するかどうかをチェックすることができますので、あなたのグライド

に(H、W).overrideを追加してみてください
関連する問題