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

Android:ListView中的自定义分隔符(甚至项),取决于项的内容,android,listview,separator,Android,Listview,Separator,我有一个列表视图,其中的项目包含关于具有评级的地点的信息,以及到当前位置的距离 这些项目按组进行分类: 第一组:500米以内 第2组:500米-1公里 第三组:1公里-1.5公里 使用这些组,项目按其评级排序 现在,我通过我的自定义适配器(扩展BaseAdapter)将这些项目放到列表视图中,这非常有效 但是,我想做的是在每组的每个第一项之前放置一个分隔符。此分隔符可以是TextView表示,例如500米-1公里,后面是该组中的所有ListView项目 你知道如何实现这一点吗?这正是你所描

我有一个列表视图,其中的项目包含关于具有评级的地点的信息,以及到当前位置的距离

这些项目按组进行分类:

  • 第一组:500米以内
  • 第2组:500米-1公里
  • 第三组:1公里-1.5公里
使用这些组,项目按其评级排序

现在,我通过我的自定义适配器(扩展
BaseAdapter
)将这些项目放到
列表视图中,这非常有效

但是,我想做的是在每组的每个第一项之前放置一个分隔符。此分隔符可以是
TextView
表示,例如500米-1公里,后面是该组中的所有
ListView
项目

你知道如何实现这一点吗?

这正是你所描述的

那个是GPLv3,因为它是从GPLv3派生的

您也可以使用my来实现这一点,它具有Apache许可证2.0的优点。只需交给它一组交替的标题
TextView
s和
Adapter
s,其中包含每个部分的内容


或者,您可以查看所有这些,并将它们的行为应用到现有的
适配器
类中。诀窍是在正确的位置返回
TextView
标题,并正确地实现类似
getViewTypeCount()
getItemViewType()
areAllItemsEnabled()
,和
isEnabled()
这样的方法甚至更好,灵感来自iOS节列表视图:。最重要的是,即使向下滚动分区,分区标题仍然可见。

您有任何屏幕截图吗?在我的高级Android书籍中有第一个屏幕截图。Jeff Sharkey的网站上有第二个的屏幕截图,如上图所示。我没有第三个的屏幕截图,很大程度上是因为它不是MergeAdapter的屏幕截图,而是您注入MergeAdapter的任何内容的屏幕截图。谢谢一个简单的问题:有没有办法从每个部分的最后一个列表项中删除底部分隔符?@Jeffrey:嗯……可能不容易。这些分隔符是安卓系统为所有可选项设置的。下面是另一个我认为更简单的解决方案