32 votes

En-têtes ListView Android

Comment créez-vous ces étiquettes d'en-tête standard dans le contrôle ListView?

Un exemple serait dans l'application de contacts que vous voyez la première lettre des contacts groupés pour chaque lettre de l'alphabet.

Si possible, veuillez fournir quelques extraits de code sur la façon de construire les données groupées et l'affichage de ListView.

32voto

CommonsWare Points 402670

Vous pouvez utiliser mon MergeAdapter ou le SeparatedListAdapter de Jeff Sharkey pour cela.

Dans le cas de MergeAdapter , vous ajouteriez un View ordinaire (par exemple, TextView ) pour un en-tête de section, puis un Adapter pour le contenu de cette section. Faire mousser, rincer, répéter.

2voto

csaunders Points 1156

Il convient de noter qu'à l'exception de la MergeAdapter par @CommonsWare les échantillons sont code sous licence gpl.

@Aléatoire une chose que j'ai trouvé est que l'utilisation de ListViews avec la base de données des curseurs est un peu lent. Pour résoudre le problème j'ai ajouté une liste de ma Carte qui met en cache conteneur d'objets en mémoire, donc je peux réduire le nombre de fois où je suis en interaction avec la base de données du curseur.

Ce qui a contribué à accélérer ma liste de points de vue une fois les données chargées dans la mémoire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X