J'ai une ListActivity qui lance une tâche pour frapper un service Web et afficher les résultats dans un ListView. Chacun des résultats a un identifiant d'image attaché à celui-ci.Les images dans la listeVoir les résultats de la recherche
J'ai écrit une méthode qui va obtenir les ID d'image des lignes affichées à l'écran (firstVisiblePosition() à lastVisiblePosition()) et lancer une tâche pour interroger un autre service Web pour obtenir les images à afficher pour ces éléments. J'appelle cette méthode lorsque l'état de défilement de la liste devient SCROLL_STATE_IDLE. Cela permet à l'utilisateur de faire défiler la tâche pour que les images des lignes visibles ne s'exécutent que lorsque le défilement s'arrête, ce qui l'empêche de rechercher des images pour les lignes hors écran. Mon problème est que lorsque les résultats montrent initialement dans le ListView, je ne peux pas trouver un bon moyen d'appeler ma méthode pour rechercher les ID d'image à interroger. Apparemment, appeler cette méthode juste après avoir appelé setAdapter ne fonctionne pas (je suppose que certains travaux de ListView se déroulent de manière asynchrone). J'utilise plusieurs adaptateurs (pour des raisons qui ne sont pas pertinentes pour cet article), j'ai donc besoin d'un bon moyen d'attendre que les éléments de la liste s'affichent avant que j'appelle ma méthode pour obtenir les ID.
Des idées?
Impressionnant. Je vous remercie. – Andrew
Si cela vous intéresse, j'ai fait la même chose que vous, et j'ai trouvé que 'SCROLL_STATE_IDLE' n'était pas aussi précis que je le voudrais, alors j'ai implémenté quelque chose de plus sophistiqué. J'ai posté cela comme une réponse précédemment [ici] (http://stackoverflow.com/questions/6358428/implementation-of-onscrolllistener-to-detect-the-end-of-scrolling-in-a-listview/6358818#6358818). – dmon