Android: Mettre à jour Listview après que Thread charge des données à partir du net
- J'aime que mon GUI apparaît immédiatement lorsque l'utilisateur démarre l'application.
- Puis certaines données (texte, images) est chargé dans le fond (comme YouTube app).
- La ListView et de la Galerie est mise à jour automatiquement avec ces nouvelles données.
J'ai lancer mon ListView, démarrer un Thread et de charger les données... et puis la liste ne sont pas mises à jour!
Plusieurs personnes m'ont dit que je devrais utiliser notifyDataSetChanged()
.
Mais je ne peux pas placer cette commande dans mon Thread (juste inconnu).
Des idées?
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
J'ai ce même problème... et je suis excité quand je suis tombé sur cette question. Mais pas de réponse? 🙁
Après, laisser le problème s'asseoir pendant environ deux semaines, j'ai trouvé le la solution ici:
Longue histoire courte:
Citation du lien ci-dessus:
Une fois que vous découvrez le code que vous voyez obtenir ce que l'auteur dit.
REMARQUE: Même avec un gestionnaire, Android peuvent ne pas vous permettre de mettre à jour un objet de vue le fil de la méthode run ().
J'ai eu cette erreur:
Pour obtenir autour de lui j'ai mis à jour un tableau de données dans ma méthode run() et servir de ce tableau pour mettre à jour l'affichage dans le gestionnaire de handleMessage() la méthode.
J'espère que cela aide les autres.
Vous pouvez utiliser le slowAdapter pour actualiser l'Affichage:
Viens de trouver moi-même lors de la lecture de ce fil, et en essayant de autour de.
Court: AsyncTask'méthode onProgressUpdate peut toucher, la vue: http://developer.android.com/reference/android/os/AsyncTask.html#onProgressUpdate(le Progrès...)
Contexte: j'ai besoin d'appeler requery sur mon curseur de sorte que une liste toujours à jour et que la tâche remplit la base de données. L'actualisation appel dans doInBackground a échoué avec le mentionné CalledFromWrongThreadException mais même code dans onProgressUpdate œuvres.