2009-07-29 7 views
4

Je transfère une application iPhone vers la plate-forme Android. L'une des vues a une très grande liste de données et sur l'application iPhone, il y a une barre de défilement sur le côté droit qui affiche les lettres de l'alphabet et permet à l'utilisateur de parcourir rapidement la liste de cette façon. J'ai du mal à trouver une telle fonctionnalité dans Android. Existe-t-il un moyen simple de mettre en œuvre cela?Android équivalent à iphone indexé UITableView

+0

Je ne sais pas si vous avez encore besoin, mais je l'ai créé une bibliothèque Android pour cela. Check this out [UITableView pour Android] (https://github.com/thiagolocatelli/android-uitableview) – Thiago

+0

Est-ce que cela supprime? A-t-il plusieurs sections? Conserve-t-il l'en-tête de la section en cours en haut de la vue visible? (Cogner l'en-tête précédent si besoin est.) – SK9

Répondre

1

La manière Android de faire ceci est de rendre la liste filtrable en utilisant le clavier, comme un Blackberry. Vous devriez le faire de cette façon pour s'adapter à l'expérience de la plate-forme. Pour implémenter cela, vous appelez la méthode setTextFilterEnabled(boolean textFilterEnabled) dans votre affichage de la liste. Voir exemple ci-dessous:

myListView.setTextFilterEnabled(true); 

Pour un exemple complet, voir Hello, ListView.


Si vous ne pouvez pas utiliser cela, vous pouvez utiliser le défilement rapide comme dans l'application Contacts. Il ne s'agit pas encore d'une API publique, mais vous pouvez l'implémenter à partir du code source des contacts au https://android.googlesource.com/platform/packages/apps/Contacts .

+1

J'ai activé cela et cela prend énormément de temps pour que le filtrage interne fonctionne et filtre les résultats étant donné le volume de données. J'implémente un autre type de filtre à la demande du client, mais je voulais vraiment pouvoir rapidement faire défiler la liste par la première lettre de chaque élément comme vous pouvez le faire dans les grandes vues de table sur l'iPhone. – MattC

+0

Je vois. Ce dont vous avez besoin, c'est FastScrollView, je vais mettre à jour ma réponse. –

Questions connexes