Comment afficher une liste d'images dans une ListView dans Android?
Comment puis-je afficher une liste d'images à l'aide de la liste? Je suis en téléchargeant les images au moment de l'exécution. Le nombre total d'images n'est pas fixe.
- Salut. jamais pensé à elle? ce serait génial si vous pouviez partager la solution
- Publié un exemple de code ici stackoverflow.com/questions/541966/..., devrait être utile.
InformationsquelleAutor | 2009-01-20
Vous devez vous connecter pour publier un commentaire.
J'aimerais commencer avec quelque chose comme ça (et si il ya quelque chose de mal avec mon code, j'avais bien sûr apprécions tous les commentaires):
E. g. l'extension de ArrayAdapter avec son propre type d'Articles (qui détiennent des informations sur vos photos) et bien sûr
getView()
méthode, qui prépare de la vue pour les éléments relevant de la liste. Il y a aussi la méthodeadd()
sur ArrayAdapter pour ajouter des éléments à la fin de la liste.R.layout.items_list
est simple de mise en page avecListView
R.layout.items_list_item
est la mise en page représentant un élément dans la listefindViewById
trouver le même point de vue à chaque fois?add
mettre des articles etget
pour les récupérer.//mainlist.xml
Six ans, c'est toujours au top pour certaines recherches. Les choses ont beaucoup changé depuis lors. Maintenant, le standard de facto est plus ou moins à utiliser Volley et la NetworkImageView qui prend soin de le levage lourd pour vous.
En supposant que vous avez déjà votre Apaters, les Chargeurs et les ListFragments en place correctement, ce officiel de google tutoriel explique comment utiliser NetworkImageView pour charger les images. Les Images sont automatiquement chargés dans un thread d'arrière-plan et la vue de mise à jour sur le thread d'INTERFACE utilisateur. Il prend même en charge la mise en cache.
Ici est la ListView simple avec des images différentes. Tout d'abord, vous devez copier les différents types d'images et le coller dans le res/drawable-hdpi dans votre projet. Les Images doivent être (.png le format de fichier.
ensuite, copiez ce code.
Dans main.xml
créer listview_layout.xml et de coller ce code
Dans votre Activité
C'est le code complet.vous pouvez apporter des modifications à votre besoin... les Commentaires sont les bienvenus
Je suis venu avec une solution que j'appelle “BatchImageDownloader” qui a bien servi. Voici un rapide résumé de la façon dont il est utilisé:
Garder un mondial HashMap (idéalement dans votre Application à l'objet) que
sert de cache d'objets dessinés
Dans le getView() la méthode de votre Liste de Carte, utilisez les drawable de
le cache pour le remplissage de l'ImageView dans votre élément de la liste.
Créer une instance de BatchImageDownloader, de passage dans votre ListView
Adaptateur
Appel addUrl() pour chaque image qui doit être récupérée/affiche
Quand c'est fait, appel execute(). Cela déclenche une AsyncTask qui récupère tous les
des images, et que chaque image est extraite, et ajouté à la cache, il
rafraîchit votre ListView (en appelant notifyDataSetChanged())
L'approche présente les avantages suivants:
Voici le code source de BatchImageDownloader:
Pour obtenir les données de la base de données, vous pouvez utiliser une
SimpleCursorAdapter
.Je pense que vous pouvez lier directement le
SimpleCursorAdapter
à unListView
- si non, vous pouvez créer une classe personnalisée qui s'étend SimpleCursorAdapter avec une coutumeViewBinder
qui remplacesetViewValue
.Regarder la Le bloc-notes tutoriel pour voir comment utiliser un
SimpleCursorAdapter
.Nom du fichier doit correspondre à la disposition de l'id qui est dans cet exemple : items_list_item.xml dans la mise en page du dossier de votre demande
Nous avons besoin de mettre en œuvre deux mises en page. Pour tenir listview et un autre pour la ligne de l'élément de la liste. Mettre en œuvre votre propre adaptateur. L'idée est d'inclure un textview et une imageview.
Suivante, nous mettons en œuvre la fonctionnalité principale de l'activité pour inclure des images et des données de texte de façon dynamique lors de l'exécution. Vous pouvez passer créé dynamiquement texte du tableau et de l'image de l'id de tableau pour le constructeur de l'adaptateur personnalisé.