Créer un défilement alphabétique facile dans ListView?
Je suis à la recherche d'émuler les fonctionnalités de la dernière application de Musique, à savoir le joli petit curseur qui s'affiche qui permet de défilement ultra-rapide de l'artiste/album/piste qu'ils recherchent:
Est-il une méthode pour activer la fonctionnalité de ce genre dans un ListView
dans le SDK Android?
source d'informationauteur Naftuli Kay | 2011-02-25
Vous devez vous connecter pour publier un commentaire.
Avez votre liste d'adaptateur de mettre en œuvre SectionIndexer. La musique app permet également l'utilisation de AlphabetIndexer pour faire le levage lourd. Également utiliser
setFastScrollEnabled(true)
sur laListView
pour permettre cela.Modifier: Si vous n'êtes pas à l'aide d'un CursorAdapter, vous ne serez pas en mesure d'utiliser AlphabetIndexer. Vous essayez peut-être à la recherche à la mise en œuvre ici et de voir comment dur il serait pour l'adapter à travailler avec un ArrayAdapter.
Ici est la sous-classe de ArrayAdapter je suis en utilisant. Notez que le
objects
je passe a déjà été triées par ordre alphabétique, avecCollections.sort(objects)
.setFastScrollEnabled(true);
(http://developer.android.com/reference/android/widget/AbsListView.html)
Sur anddev.org j'ai trouvé ce tutoriel: Alphabétique FastScroll ListView - semblables à des Contacts
Il contient également une courte démo-vidéo
Espère que cela aide!
Pour obtenir des précisions sur les éléments affichés dans une liste, vous pouvez le faire:
N'est-ce pas un peu plus simple? Ici, "chansons" est une arraylist d'objets de la Chanson. Vous pouvez même obtenir le dernier élément visible par l'ajout de firstVisibleItem + visibleItemCount. J'ai trouvé cette technique très utile. Alors, alors, vous obtiendrez la première lettre de chaque chanson. Je suppose que le gris de la boîte contenant la lettre dans l'application musique que vous avez posté est une boîte de dialogue de toutes sortes?
De toute façon, espérons que cette aide. Je me rends compte que je suis en retard, mais c'est pour le futur, les personnes
J'ai trouvé une excellente solution ici... Fonctionne très bien avec une liste énorme... Agréable et rapide... pas de temps de chargement.