2010-08-23 18 views
5

E 'possibile avere un indice sul lato destro di un ListView? Questo è possibile sull'iPhone, dove nella parte destra è mostrato l'alfabeto. Toccando una lettera sull'alfabeto si porta all'inizio degli oggetti in ListView che iniziano con quella lettera.android - index per ListView?

C'è un codice integrato in Android per questa funzionalità? O è qualcosa che dovrebbe essere personalizzato?

+0

Io in realtà non ho una risposta, diverso da quello sì, si sarebbe dovuto costruire questa usanza, ma io sicuramente pensare che sarebbe una cosa bella avere come funzionalità integrata. Meglio ancora, qualcosa come l'interfaccia di Zune HD per scorrere lunghi elenchi di musica (se non l'hai visto, cercalo su YouTube, è molto bello). Fondamentalmente all'inizio di una sezione hai la lettera per quella sezione; toccalo e apparirà una griglia dell'indice e ne premerai una per saltare ad essa. Potrebbe essere un progetto divertente per me provare ... :) – kcoppock

risposta

20

Non c'è esattamente quello che vuoi. C'è una cosa molto simile. In primo luogo impostare la modalità di scorrimento veloce del vostro ListView:

ListView.setFastScrollEnabled(true); 

prossimo implementare la seguente interfaccia per l'adattatore:

android.widget.SectionIndexer 

http://developer.android.com/reference/android/widget/SectionIndexer.html

In questo modo si sarà in grado di scorrere velocemente il vostro ListView con un pulsante del pollice.

Se si implementa SectionIndexer correttamente, sarà possibile vedere una lettera dell'alfabeto su cui si è attualmente attivi durante lo scorrimento veloce.

+0

Ottima risposta. Questo è anche "il modo Android", quindi dovrebbe essere preferito cercare di farlo funzionare come l'iPhone. – noah