我有一个简单的Activity,我使用LoaderManager
来获取游标中的数据库结果。
这很有效,但问题是当我尝试使用StickyListHeader显示按created at
日期分组的结果时。
StickyListHeader API说
您的适配器必须实现
StickyListHeadersAdapter
接口才能使用StickyListHeadersListView。getHeaderId()
必须为每个部分返回一个唯一的整数。具有字母部分的列表的有效实现是返回该部分所属部分的char值。
在渲染列表本身(newView/bindView
)期间检查对象/行是否属于单个组(基于created_at)是一个好习惯吗?比如说,我已经定义了一个方法isANewGroup
,它通过比较游标中当前元素和前一个元素的created_at属性来返回true或false。
对StickyListHeader
的工作方式感到困惑。有人能指出一个适合我的方向的好方向吗?
答案 0 :(得分:-2)
我自己想通了。
小组是否检查了bindView
并使用了sectionMap(一个简单的SparseIntArray
)来跟踪这些群组。在getHeaderID
上,我从sectionMap返回了与每个项目位置对应的groupID。
附加我的自定义分区适配器的样本gist。