Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 通过在给定索引处添加项手动更新光标_Android_Android Cursoradapter_Android Cursor_Android Cursorloader - Fatal编程技术网

Android 通过在给定索引处添加项手动更新光标

Android 通过在给定索引处添加项手动更新光标,android,android-cursoradapter,android-cursor,android-cursorloader,Android,Android Cursoradapter,Android Cursor,Android Cursorloader,我想在特定索引处的游标中插入一个项(甚至null) 例如,我需要显示5行信息,但我的查询将得到一个只有3条记录的游标,因此我需要将其他两列(假设第二行和第四行)显示为“无可用信息”。视图逻辑已经存在,它接受一个游标,并通过检查该索引处的项来执行其余操作,如果在该索引处发现null,则将显示“无可用信息”。所以现在,当游标中的记录少于5条时,我必须将第二个和第四个索引包含为null,并将其发送给视图 但经过一些初步的研究发现,并没有这样的方式来插入光标在一个特定的索引。有人知道“手动更新光标”吗

我想在特定索引处的游标中插入一个项(甚至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,谢谢,我想到了这个解决方案,但是在我现有的视图实现中,我应该只传递一个游标,并且更改视图逻辑是昂贵的。