我想将一个项目(甚至是null)插入到特定索引处的游标中。
例如,我需要显示5行信息,但是我的查询会给我一个只有3条记录的光标,因此我需要显示另外两列(假设第二行和第四行)为“否”信息“。视图逻辑已经存在,它接受一个游标并通过检查该索引处的项目来完成剩下的工作,如果在该索引处找到null,则显示“无可用信息”。所以现在,当我的光标中记录少于5条记录时,我必须在其中包含第二个和第四个索引,并且应该将其发送到视图中。
但经过一些初步研究发现,没有这种方法可以将光标插入特定索引。任何人对此“手动更新光标”有任何想法吗?
答案 0 :(得分:0)
AFAIK无法以这种方式更新游标。
我建议更改列表以运行ArrayListAdapter,然后将返回的数据从Cursor转换为ArrayList。
这应该允许您以您提到的方式操作ArrayList。
答案 1 :(得分:0)
你不能改变光标(除非你创建一个MatrixCursor并复制内容 - 不好的做法,因为光标真的应该反映数据,而不是显示细节)。
你能做的就是修改你的CursorAdapter:
/** Returns at least MIN_ITEM */
@Override
public int getCount() {
return Math.min(MIN_ITEM, super.getCount());
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
if (cursor.isAfterLast()) {
// Bind 'No information available' to your view
} else {
// Your current implementation
}
}