J'ai une liste personnalisée et chaque ligne montrant l'image et le texte et l'image doit être téléchargée à partir du serveur.Téléchargement Image uniquement pour la ligne visible dans la vue de liste
J'ai donc personnalisé mon adaptateur et dans cette méthode getView j'ai démarré une tâche asyn pour télécharger l'image.
Mais le problème est que s'il y a 50 éléments de la liste alors si je fais défiler du 1er au 50 point e dans la liste d'un seul coup,
alors pour chaque ligne, il va commencer le téléchargement des images quel que soit mince que la ligne est même pas montré ...
alors quelle pourrait être la solution pour cela ???
Toute aide serait très appréciée
Merci
Je suppose que je n'ai pas compris votre solution .... s'il vous plaît aidez-moi avec cela .... Comme je défile, chaque ro est visible pour nous alors obtenir la vue devrait être appelée et le téléchargement devrait commencer là-dessus. .... donc si vous allez au 50ème article alors ...... –
Eh bien, si vous faites défiler vous allez mettre chaque rangée à mesure qu'elle devient visible. C'est le comportement attendu. Si vous ne faites pas défiler, vous ne pourrez pas déclencher ces demandes. C'est un comportement attendu - lorsque vous faites défiler, vous voulez obtenir ces images, n'est-ce pas? Si votre problème est que les anciennes requêtes sont toujours là, vous devez vous rearchitecter pour utiliser un thread d'arrière-plan (au lieu de tâches asynchrones) pour effectuer le téléchargement, et l'ignorer si la position n'est pas visible . –
Oui maintenant je l'ai compris clairement, je suppose qu'il y a maintenant API dans listview.isRowVisible ..... il y a API pour la première et la dernière ligne visibiity .... donc est-ce un bon moyen startDownloadingImage() { fil de sommeil pendant 1 sec vérifier si thisRow se situe entre firts de ligne visible et dernière rangée visible si oui -> démarrer le téléchargement rien d'autre .... S'il vous plaît suggérer le cas échéant meilleure façon THanks –