我创建了一个listview,我想将其更改为使用emilsjolander中的StickyListHeaders,可以找到github代码here。
我想知道我在哪里编写代码来说明标题应该在哪里(位置)
编辑:
我所拥有的是一个完成任务和撤消任务的数据库,因此我希望在撤消任务开始时有一个标题,而在完成任务的开始时需要另一个标题。像位置是已完成任务的大小的东西放一个标题
答案 0 :(得分:1)
您已将link提供给此库的完整文档。如果您需要帮助实现这一点,您将需要更具体的问题。标题的位置不是由索引或类似的东西决定的,必须以正确的方式排序项目,并且必须实施getHeaderId()
函数以正确反映您的部分。
这将为撤消(id 0)和完成(id 1)任务创建标题。
@Override
public long getHeaderId(int position) {
return tasks[position].done() ? 1 : 0;
}
然后只需创建一个getHeaderView()
实现来为您的两个部分创建标题视图。
@Override
public View getHeaderView(int position, View convertView, ViewGroup parent) {
HeaderViewHolder holder;
if (convertView == null) {
holder = new HeaderViewHolder();
convertView = inflater.inflate(R.layout.header, parent, false);
holder.text = (TextView) convertView.findViewById(R.id.text);
convertView.setTag(holder);
} else {
holder = (HeaderViewHolder) convertView.getTag();
}
//set header text as first char in name
String headerText = tasks[position].done() ? "Done" : "Undone";
holder.text.setText(headerText);
return convertView;
}
这只是一个粗略的代码示例,您必须修改它以匹配您的周围代码。