Suppose I have a list of many items. Each item is one line of text that the user could select. On average the list will contain around 750 items (although can go as high as 1,000)

Instead of displaying this list in one huge listview, I want to give the user the ability to navigate alphabetically, so that say only items starting with A are displayed, and then the user could go to B, C, etc.

I considered putting a Spinner on top of the listview (containing A...Z), where the listview's content is filtered based on the spinner's current selection. However, I noticed this can be very annoying for the user (each change of alphabet in the spinner requires at least 2 taps, plus swiping down for certain letters).

So what would be a better way to achieve the same functionality while being user-friendly?

3 Answers 3


The most common pattern for large, alphabetically ordered lists, is to provide a single list with:

  • Section headings (such as 'A', 'B', 'C', etc.), optionally pinned to the top while scrolling.
  • An auto-hiding thick 'scroll thumb' for fast scrolling.
  • A mechanism by which to filter the list, for example by providing a search box above or near the list, or by providing a contextual 'Search' action menu item or button.

The best example of this implementation is the standard 'Contacts' application. Here's a quick screenshot:

Contacts application http://dandroidtabletpc.com/wp-content/uploads/2011/08/Android-Contact.png

And here's a screenshot of the thick scroll thumb:

Thick scroll thumb

Note that this isn't the only possible solution, but it's one of the most straightforward and concise solutions.

Developer notes:

  • Roman I like u suggestion of adding a filtering option, high time u guys added it to Android Contacts screen as well :-)
    – the100rabh
    Commented Sep 17, 2011 at 17:40

You have different patterns to show a vast ammount of content frequently used in Android.

You can group options (show an initial list of A-Z letters), put a row of tabs that scroll horizontally on top of the list, provide a search bar to filter results.. But one effective mechanism is to show all items and provide a scroll thumb to simplify search.


A good solution I found to make a large quantity of data available for selection in minimal screen real-estate while still being very user-friendly is AutoCompleteTextView.

I wired this up successfully for a country selection based on a list of a few hundred. With a custom implementation of AutoCompleteTextView.Validator you can make sure only valid records are selected and basically treat it like a giant Spinner that can be filtered/searched.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.