2011-05-25 3 views
0

Im en utilisant le widget de Droidfu WebImageView dans GridView pour créer une galerie. L'image est async téléchargée avec WebImageView et mise en cache.Droidfu WebImageView et problème GridView

Le problème est que id ne montre pas toujours l'image (elle affiche l'erreur par défaut img à la place) quand la grille y défile. C'est comme si getView le détruisait et ne pouvait pas le recycler correctement chaque fois.

Ceci est mon GridAdapter

GalleryAdapter public class étend BaseAdapter {

private Context mContext; 

    public GalleryAdapter(Context c) { 
     // TODO Auto-generated constructor stub 
     mContext = c; 
    } 

    @Override 
    public int getCount() { 
     // TODO Auto-generated method stub 
     return theList.getItemCount(); 
    } 

    @Override 
    public Object getItem(int arg0) { 
     // TODO Auto-generated method stub 
     return theList.getItem(arg0); 
    } 

    @Override 
    public long getItemId(int arg0) { 
     // TODO Auto-generated method stub 
     return arg0; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     // TODO Auto-generated method stub 

     final GalleryItem galeryItem = theList.getItem(position); 

     if (convertView == null) { 
      convertView = (View) getLayoutInflater().inflate(R.layout.gallery_item, parent, false); 

     } 

     WebImageView imageView = (WebImageView) convertView.findViewById(R.id.webimage); 

     if (!galeryItem.getMain_image().trim().equalsIgnoreCase("")) { 

      imageView.setScaleType(ScaleType.CENTER_CROP); 
      imageView.setAdjustBounds(true); 
      imageView.reset(); 
      imageView.setImageUrl(galeryItem.getMain_image().trim()); 
      imageView.setNoImageDrawable(R.drawable.heading_img_bg); 
      imageView.loadImage(); 
     } 

     TextView heading = (TextView) convertView.findViewById(R.id.gallery_heading); 
     heading.setText(galeryItem.getHeading()); 

     TextView img_num = (TextView) convertView.findViewById(R.id.gallery_img_num); 
     img_num.setText(Integer.toString(galeryItem.getImage_num())); 

     return convertView; 
    } 

} 

Répondre

0

Selon this, le développement sur Droid-Fu va arrêter et il sera 'rebaptisé' comme Ignition.

L'allumage a une classe similaire appelée RemoteImageView. L'utilisation est fondamentalement la même, mais il semble qu'ils ont retravaillé le backend un peu. Je l'ai essayé avec un ListView qui donnait le problème de chargement pour toujours. A travaillé pour moi (bien qu'il ait introduit d'autres problèmes).

Vous pouvez essayer et voir si votre problème a été résolu.