Android:ListView中的自定义分隔符(甚至是项目),具体取决于项目的内容

时间:2009-10-22 10:26:25

标签: android listview separator

我有一个ListView,其中的项目包含有关评级距离到当前位置的地方的信息。

这些项目分组:

  • 第1组:500米以内
  • 第2组:500米 - 1公里
  • 第3组:1公里 - 1.5公里
  • ...

对于这些组,项目按其评级排序。

现在我通过我的自定义适配器(BaseAdapter的扩展名)将这些项目放入ListView,这非常有效。

但是,我想要做的是在每个组的每个第一项之前放置一个分隔符。此分隔符可以是TextView,例如 500m - 1km ,然后是该组中的所有ListView项目。

有关如何实现这一点的想法吗?

2 个答案:

答案 0 :(得分:19)

Here is one implementation完全符合您的描述。

那个是GPLv3,因为它来自this implementation,它是GPLv3。

您也可以使用我的MergeAdapter,这有利于成为Apache License 2.0。只需将一组包含每个部分内容的标题TextViewAdapter交替使用。

或者,您可以查看所有这些内容并将其行为转移到现有的Adapter课程中。诀窍是在正确的位置返回您的TextView标头,并正确实施getViewTypeCount()getItemViewType()areAllItemsEnabled()isEnabled()等方法。

答案 1 :(得分:4)

这是更好的实现,受到iOS部分列表视图的启发:http://code.google.com/p/android-section-list/。关于它的问题是,即使你向下滚动部分,部分标题仍然可见。