2017-08-29 3 views
0

J'ai une application contient une plage d'image apparaît par des liens en utilisant la bibliothèque de glissement, mon application met beaucoup de temps à charger toutes les images de sorte qu'il est possible de charger image par image (un par un).Comment charger une image par image en utilisant Glide Library?

Glide.with(context) 
    .load(imageId.get(position)) 
    .diskCacheStrategy(DiskCacheStrategy.ALL) 
    .priority(Priority.HIGH) 
    .listener(new RequestListener<String, GlideDrawable>() { 
     @Override 
     public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) { 
      return false; 
     } 
     @Override 
     public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { 
      progressBar.setVisibility(View.GONE); 
      return false; 
     } 
    }) 
    .into(holder.CategoryImage); 
+1

où avez-vous mis ce code? est-ce dans l'adaptateur getview? –

+0

@Programming Pirate Oui dans 'getview()' – MrMR

+1

quelle est la taille de vos images? Sont-ils de grandes images ou juste des vignettes? –

Répondre

2

Essayez cette

Glide.with(context) 
     .load(imageId.get(position)) 
     .diskCacheStrategy(DiskCacheStrategy.ALL) 
     .priority(Priority.HIGH) 
     .listener(new RequestListener<String, GlideDrawable>() { 
      @Override 
      public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) { 
        return false; 
      } 
      @Override 
      public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { 
       progressBar.setVisibility(View.GONE); 
       return false; 
      } 
     }) 
     .thumbnail(0.1f) // this will do the trick 
     .into(holder.CategoryImage); 

si elle ne fonctionne pas, de cette façon,

Glide.with(context) 
     .load(imageId.get(position)) 
     .diskCacheStrategy(DiskCacheStrategy.ALL) 
     .priority(Priority.HIGH) 
     .override(100,100) 
     .listener(new RequestListener<String, GlideDrawable>() { 
      @Override 
      public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) { 
        return false; 
      } 
      @Override 
      public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { 
       progressBar.setVisibility(View.GONE); 
       Glide.with(context).load(imageId.get(position)) 
        .diskCacheStrategy(DiskCacheStrategy.ALL) 
        .priority(Priority.HIGH) 
        .into(holder.CategoryImage); 
       return false; 
      } 
     }) 
     .into(holder.CategoryImage);