Comment mettre à jour ListView sur le défilement lors de la récupération de données à partir du serveur dans Android?
Actuellement, je suis en utilisant AsyncTask pour gérer la connexion Http et récupérer des données dans le format JSON.
Le chargement de toutes les données est trivial, mais il consomme trop de temps, j'ai donc décidé de passer à charge de 10 points à l'aide de LIMIT OFFSET
(mysql).
Ensuite, j'ai crée l'événement onScroll
pour ma liste vue de créer un nouveau AsyncTask
chaque fois que l'utilisateur de faire défiler. Cependant, de ce que j'ai lu, AsyncTask
est stocké dans un thread du pool, qui est limitée à 5 fils à un moment, donc je ne suis pas sûr que c'est une bonne approche. Je suis débutant à l'application client/serveur, donc que je pourrais vous me donner un avis sur cette question? Tout article, de la documentation serait grandement apprécié.
OriginalL'auteur Cathy | 2012-01-19
Vous devez vous connecter pour publier un commentaire.
Voici quelques liens utiles pour elle,
Android: la mise en Œuvre de la progressbar et "chargement..." pour la Liste Interminable comme l'Android Market
Sans fin Listview avec courant Async Task
Android Liste Interminable
http://www.androidguys.com/2009/10/21/tutorial-autogrowing-listview/
http://mylifewithandroid.blogspot.com/2010/03/progressively-loading-listviews.html
En quelques étapes simples,
toujours bienvenue mon ami!!
OriginalL'auteur Andro Selva
Une approche typique serait par exemple pour charger 25 abord et ensuite avoir un pied de page dans la liste qui s'affiche par exemple le nombre et le nombre total et en appuyant sur charges 25 et ainsi de suite. Que serait un paginé de tri de chargement.
Lorsque vous faites cela, vous devez tenir la position actuelle et de la notifier à la carte que la liste a changé.
OriginalL'auteur Manfred Moser
Si vous utilisez un
ListView
, je crois que je peux supposer que vous devez être en utilisant une sorte deListAdapter
. Au lieu de commencer une nouvelleAsyncTask
dans leonScroll
événement, vous devez maintenir un seulAsyncTask
pour récupérer des données à partir du serveur, ajouter des données à laListAdapter
dataset, puis appelernotifyDatasetChanged
sur leListAdapter
.La
ListAdapter
etListView
prendra soin du reste.OriginalL'auteur Arnab Chakraborty