我有一个ListView,其中的项目包含有关评级和距离到当前位置的地方的信息。
这些项目分组:
对于这些组,项目按其评级排序。
现在我通过我的自定义适配器(BaseAdapter
的扩展名)将这些项目放入ListView
,这非常有效。
但是,我想要做的是在每个组的每个第一项之前放置一个分隔符。此分隔符可以是TextView
,例如 500m - 1km ,然后是该组中的所有ListView
项目。
有关如何实现这一点的想法吗?
答案 0 :(得分:19)
Here is one implementation完全符合您的描述。
那个是GPLv3,因为它来自this implementation,它是GPLv3。
您也可以使用我的MergeAdapter
,这有利于成为Apache License 2.0。只需将一组包含每个部分内容的标题TextView
和Adapter
交替使用。
或者,您可以查看所有这些内容并将其行为转移到现有的Adapter
课程中。诀窍是在正确的位置返回您的TextView
标头,并正确实施getViewTypeCount()
,getItemViewType()
,areAllItemsEnabled()
和isEnabled()
等方法。
答案 1 :(得分:4)
这是更好的实现,受到iOS部分列表视图的启发:http://code.google.com/p/android-section-list/。关于它的问题是,即使你向下滚动部分,部分标题仍然可见。