下面的代码用于填充无休止的列表视图。
当用户到达列表的末尾时,应用程序调用async任务以获取更多项,然后在post execute时返回新光标并与前一个光标合并。
问题是这段代码不适用于ICS和果冻豆,但适用于Froyo和姜饼。
在ics和jellybean上,listview变为空,但如果您记录游标大小,则会得到合并游标的大小。

Cursor[] cursors = new Cursor[2];
//actual cursor
cursors[0] = resourceCursor.getCursor();
//new cursor returned by async task
cursors[1] = result;
MergeCursor mergeCursor = new MergeCursor(cursors);
resourceCursor.changeCursor(mergeCursor);

最佳答案

好吧,我找到了一个解决方案,看起来是个笨拙的解决方案,但它奏效了。
在我的研究中,所有的问题似乎都解决了Honeycumb之后的一个问题,所以我将API级别改为11,以获得可用的swapcursor,然后,在我的代码中:

Cursor[] cursors = new Cursor[2];
//actual cursor
cursors[0] = resourceAdapterCursor.getCursor();
//new cursor returned by async task
cursors[1] = result;
MergeCursor mergeCursor = new MergeCursor(cursors);
if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD){
    resourceAdapterCursor.swapCursor(mergeCursor);
} else {
    resourceAdapterCursor.changeCursor(mergeCursor);
}

谢谢!
谨致问候。
罗德里戈

10-06 08:54