6

So I have a listview and I want to add different "sections" to it. I understand how addHeaderView works and it's straight forward, but is there a way to add section headers? Like let's say I have an alphabetical list, is there a way to mark the top of each section of letters? The list is dynamic though, so I won't know when/where I'll need a section header until I get to that point.

3 Answers 3

3

These section headers are called "separators" in Android lists. To specify that given entry in the list is a separator, you must modify your Adapter to return false from isEnabled method for that position. It helps if you properly write the getItemViewType method, so you can have customized layout for separator entries.

Sign up to request clarification or add additional context in comments.

2 Comments

Hmm. I hacked my arraylist to insert null pointers where I wanted the separators, and then just returned a simple linearlayout and textview in my getView method if the object at that position is null. This is probably a much better way of doing it though and I'll look at this further tomorrow.
Great answer. I have spent over 4 hours trying to disable some of my items. thanks a lot!
0

i tried this example and its working fine.

http://jsharkey.org/blog/2008/08/18/separating-lists-with-headers-in-android-09/

it helped a lot for my task.

1 Comment

You can try github.com/ragunathjawahar/simple-section-adapter, easier than jsharkey's or commonsware's.
0

You can also use http://code.google.com/p/android-section-list/ - it solves exactly this problem and adds a nice feature taken from iOS - the section header stays on screen with transparency while you scroll the section down, so you see which section you are in....

Comments

Your Answer

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.