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;
}
}