下面的代码用于填充一个无限的ListView。当用户到达列表末尾时,应用程序调用异步任务以获取更多项,然后在post execute execute时返回新的游标并与前一个游标合并。问题是这段代码不能在ICS和Jelly Bean上工作,但能在Froyo和Gingerbread上工作。在ICS和JellyBean上,列表视图为空,但如果记录光标大小,则会得到合并后的光标的大小。
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);
发布于 2012-12-19 23:47:49
好吧,我找到了一个解决方案,看起来是一个很糟糕的解决方案,但它是有效的。在我的研究中,所有的问题似乎都是在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);
}
谢谢!
诚挚的问候。
罗德里戈
https://stackoverflow.com/questions/13953773
复制相似问题