Android 通过在给定索引处添加项手动更新光标
我想在特定索引处的游标中插入一个项(甚至null) 例如,我需要显示5行信息,但我的查询将得到一个只有3条记录的游标,因此我需要将其他两列(假设第二行和第四行)显示为“无可用信息”。视图逻辑已经存在,它接受一个游标,并通过检查该索引处的项来执行其余操作,如果在该索引处发现null,则将显示“无可用信息”。所以现在,当游标中的记录少于5条时,我必须将第二个和第四个索引包含为null,并将其发送给视图Android 通过在给定索引处添加项手动更新光标,android,android-cursoradapter,android-cursor,android-cursorloader,Android,Android Cursoradapter,Android Cursor,Android Cursorloader,我想在特定索引处的游标中插入一个项(甚至null) 例如,我需要显示5行信息,但我的查询将得到一个只有3条记录的游标,因此我需要将其他两列(假设第二行和第四行)显示为“无可用信息”。视图逻辑已经存在,它接受一个游标,并通过检查该索引处的项来执行其余操作,如果在该索引处发现null,则将显示“无可用信息”。所以现在,当游标中的记录少于5条时,我必须将第二个和第四个索引包含为null,并将其发送给视图 但经过一些初步的研究发现,并没有这样的方式来插入光标在一个特定的索引。有人知道“手动更新光标”吗
但经过一些初步的研究发现,并没有这样的方式来插入光标在一个特定的索引。有人知道“手动更新光标”吗 a这样更新光标是不可能的 我建议将列表更改为运行ArrayListAdapter,然后将光标返回的数据转换为ArrayList
这应该允许您以您提到的方式操作ArrayList。您不能更改光标(除非您创建MatrixCursor并复制内容-无论如何,这是一种糟糕的做法,因为光标实际上应该反映数据,而不是显示细节) 您可以这样修改光标或适配器:
/** 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
}
}
Corey Scott,谢谢,我想到了这个解决方案,但是在我现有的视图实现中,我应该只传递一个游标,并且更改视图逻辑是昂贵的。