Asynchrone chargeur d'image sur listview [Android]
Je vais avoir des problèmes pour la mise en œuvre asynchrone chargeur d'image pour le code suivant. J'ai lu quelques messages sur le web à ce sujet et je pense que je comprends la logique derrière elle, mais il me semble échouer dans la mise en œuvre.
Le code soufflet est ce que j'utilise tout simplement de 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;
}
}
OriginalL'auteur thpoul | 2010-07-05
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser l'exemple de code de référence Chargement différé des images dans la ListView
Votre code fonctionne très bien quand je le lance sur le compilateur et fait exactement ce que je suis asdking pour. Malheureusement. Je ne peux pas l'appliquer sur mon lecteur de flux rss de projet. Je voudrais vraiment apprécier un coup de main dans ce. Je vous remercie à l'avance.
Vous pouvez utiliser LazyAdapter comme il est. Il suffit de passer au tableau d'Url. Et de préciser R. layout.rsslist dans getView R. layout.de l'élément. Devrait être de travailler par la suite.
OriginalL'auteur Fedor
Avez-vous regardé SmartImageView?
http://loopj.com/android-smart-image-view/
C'est très simple bibliothèque pour charger des images de manière asynchrone (:
certaines Fonctionnalités de cette bibliothèque
Baisse-dans le remplacement pour ImageView
Charger des images à partir d'une URL
Charger des images à partir du téléphone de contact du carnet d'adresses
Chargement asynchrone des images, le chargement se passe en dehors du thread d'INTERFACE utilisateur
Les Images sont mises en cache dans la mémoire et sur le disque pour le super-rapidité de chargement
SmartImage classe est facilement extensible pour charger à partir d'autres sources
Merci man! Désolé à ce sujet.
OriginalL'auteur alexandreferreira
Sur la solution serait de remplir une variable de classe au sein de votre adaptateur, disons, une liste de tableaux avec les références de tous les "ImageView listDescription"
Ensuite utiliser un AsyncTask qui passe par chaque ImageView, récupère l'Image associée et supprime l'ImageView à partir de la liste de tableaux. Il va télécharger une à une dans l'arrière-plan de votre gui répond toujours.
OriginalL'auteur androider