【发布时间】:2012-06-10 21:51:11
【问题描述】:
所以我有一个列表视图,我想向它添加不同的“部分”。我了解 addHeaderView 的工作原理并且很简单,但是有没有办法添加节标题?就像假设我有一个按字母顺序排列的列表,有没有办法标记每个字母部分的顶部?这个列表是动态的,所以在我到达那一点之前,我不知道何时/何地需要一个节标题。
【问题讨论】:
所以我有一个列表视图,我想向它添加不同的“部分”。我了解 addHeaderView 的工作原理并且很简单,但是有没有办法添加节标题?就像假设我有一个按字母顺序排列的列表,有没有办法标记每个字母部分的顶部?这个列表是动态的,所以在我到达那一点之前,我不知道何时/何地需要一个节标题。
【问题讨论】:
这些部分标题在 Android 列表中称为“分隔符”。要指定列表中的给定条目是分隔符,您必须修改适配器以从该位置的isEnabled 方法返回false。如果您正确编写 getItemViewType 方法会有所帮助,这样您就可以为分隔符条目自定义布局。
【讨论】:
我试过这个例子,它工作正常。
http://jsharkey.org/blog/2008/08/18/separating-lists-with-headers-in-android-09/
它对我的任务帮助很大。
【讨论】:
您也可以使用http://code.google.com/p/android-section-list/ - 它完全解决了这个问题并添加了一个来自 iOS 的不错的功能 - 当您向下滚动部分时,部分标题会保持在屏幕上并保持透明,这样您就可以看到您所在的部分.. ..
【讨论】: