J'ai des problèmes pour implémenter un chargeur d'image asynchrone sur le code suivant. J'ai lu quelques articles sur le Web à ce sujet et je pense que je comprends la logique derrière, mais je semble échouer dans la mise en œuvre.Chargeur d'images asynchrone sur listview [Android]
Le code ci-dessous est ce que j'utilise pour simplement charger les images dans ma listview.
public class MyCustomAdapter extends ArrayAdapter<RSSItem> {
Bitmap bm;
public MyCustomAdapter(Context context, int textViewResourceId, List<RSSItem> list) {
super(context, textViewResourceId, list);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
BitmapFactory.Options bmOptions;
bmOptions = new BitmapFactory.Options();
bmOptions.inSampleSize = 1;
bm = LoadImage(myRssFeed.getList().get(position).getDescription(), bmOptions);
View row = convertView;
if(row == null) {
LayoutInflater inflater = getLayoutInflater();
row = inflater.inflate(R.layout.rsslist, parent, false);
}
TextView listTitle = (TextView)row.findViewById(R.id.listtitle);
listTitle.setText(myRssFeed.getList().get(position).getTitle());
ImageView listDescription = (ImageView)row.findViewById(R.id.listdescription);
listDescription.setImageBitmap(bm);
TextView listPubdate = (TextView)row.findViewById(R.id.listpubdate);
listPubdate.setText(myRssFeed.getList().get(position).getPubdate());
return row;
}
}
Oh c'est vraiment utile! Merci pour ça. Je vais vérifier tout de suite. – thpoul
Votre code fonctionne très bien quand je l'exécute sur le compilateur et fait exactement ce que je suis en train de faire. Malheureusement. Je ne peux pas l'implémenter sur mon projet de lecteur rss. J'apprécierais vraiment une main dans ceci. Merci d'avance. – thpoul
Vous pouvez utiliser LazyAdapter tel quel. Passez simplement un tableau d'URL à celui-ci. Et spécifiez R.layout.rsslist dans getView R.layout.item. Devrait travailler après ça. – Fedor