2

我想将一个项目(甚至是 null)插入到特定索引处的游标中。

例如,我需要显示 5 行信息,但我的查询将得到一个只有 3 条记录的游标,因此我需要将其他两列(假设为第二行和第四行)显示为“无可用信息” . 视图逻辑已经存在,它接受一个游标并通过检查该索引处的项目来完成其余的工作,如果在该索引处找到 null,则将显示“无可用信息”。所以现在,当我的游标中的记录少于 5 条时,我必须在其中包含第二个和第四个索引为 null,并且应该将其发送到查看。

但是经过一些初步研究发现,没有这种方法可以在特定索引处插入光标。有人对“手动更新光标”有任何想法吗?

4

2 回答 2

0

AFAIK 不可能以这种方式更新游标。

我建议更改您的列表以运行 ArrayListAdapter,然后将返回的数据从 Cursor 转换为 ArrayList。

这应该允许您以您提到的方式操作 ArrayList。

于 2013-03-01T08:57:54.037 回答
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
    }
}
于 2013-03-01T09:55:21.380 回答