安卓:ListView中自定义分隔符(甚至项目)depening上项目

问题描述:

的内容我已经包含关于与评级距离到当前位置的地方信息项一个ListView。安卓:ListView中自定义分隔符(甚至项目)depening上项目

项目被分为两组:

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

通过这些群组,这些项目按其评级排序。

现在我通过我的自定义适配器(BaseAdapter的扩展名)将这些项目放入ListView,这很好地工作。

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

关于如何实现这一点的任何想法?

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

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

您也可以使用我的MergeAdapter,因为它具有Apache License 2.0的优势。只需交付一组包含标题TextViewAdapters的标题,其中包含每个部分的内容。

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

+0

你有屏幕截图吗? – Tawani 2009-10-22 14:30:49

+0

我的高级Android手册中有第一个屏幕截图。在Jeff Sharkey的网站上有第二张截图,链接到上面。无论如何,我没有第三个屏幕截图,很大程度上是因为它不会是MergeAdapter的屏幕截图,而是您投入MergeAdapter的任何屏幕截图。 – CommonsWare 2009-10-22 14:37:44

+0

您的SectionedAdapter的实现工作得很好。谢谢!一个简单的问题:有没有办法从每个部分的最后一个列表项中删除底部分隔符? – jeffh 2010-11-20 06:25:12

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