Android ListView ArrayAdapter mises à jour de données des Meilleures Pratiques
J'ai une activité avec de multiples vues de liste qui sont constamment à la réception de nouvelles valeurs former une douille de fil, un autre thread analyse les données et met à jour le tableau des cartes, puis le thread d'interface utilisateur appels notifyDataSetChanged() pour provoquer la liste à jour.
Mon problème est que im rafraîchissante toute la liste d'un couple de fois par seconde, ce qui provoque l'INTERFACE utilisateur très lag lors de certaines animations ont besoin de se produire.
Je me demandais quelle est la meilleure façon de mettre à jour plusieurs listes avec de multiples changements de la valeur de chaque seconde?
Grâce,
Totem.
OriginalL'auteur totem | 2010-08-26
Vous devez vous connecter pour publier un commentaire.
Je serais certainement de suivre les directives qu'ils ont donné à Google IO cette année.
Google IO listview Vidéo
OriginalL'auteur Travis
Vous devez utiliser des Curseurs (si nécessaire Fournisseurs de Contenu) et ListActivity. L'INTERFACE utilisateur automatiquement les mises à jour dès qu'il y a des changements et en cas de nul ensembles de données, la liste affiche automatiquement un aperçu pertinent.
Exemples suivants de la résoudre à l'aide de fournisseurs de contenu:
main.xml:
Avis android:liste et android:les balises vides. Celles-ci sont requises par la liste de l'activité.
Dans onCreate() méthode:
Vous pouvez utiliser un SimpleCursorAdapter si votre point de vue est simple. J'ai créé par les propres adaptateur raison de la complexité des points de vue:
OriginalL'auteur Sameer Segal
Oui, cette vidéo est très utile. Un de la plus grande leçon à tirer est que vous devriez recycler les convertView passé dans la liste des adaptateurs méthode getView:
Les autres bits a été d'utiliser un ViewHolder classe pour la vue de son recyclage. Il est à environ 10:30 dans la vid.
OriginalL'auteur Poko