1

我正在ListView使用自定义CursorAdapter(帖子)显示数据。有些帖子没有评论(我想显示有关的信息)并且数据位于不同的光标中(我无法加入表格,因为我按帖子 ID 分组以防止重复ListView)。

目前bindView我正在遍历评论,Cursor检查帖子 ID 是否等于当前视图的。

这个循环可以减慢 UI 并且应该在不同的线程中完成吗?(这增加了在视图被回收时在正确位置显示数据的复杂性)

有更好的策略吗?我想过,CursorJoiner但我不知道如何加入这两个游标。

编辑:

例如在我的CurosrAdapter实现中:

@Override
public void bindView(View view, final Context context, Cursor cursor) {
...
...
if (mCommentsCursor != null) {
    mCommentsCursor.moveToPosition(-1);

    int count = 0;
    while (mCommentsCursor.moveToNext()) {
        if (mCommentsCursor.getInt(mCommentsCursor.getColumnIndex(
                COLUMN_COMMENT_POST_ID)) == postId) {

            count++;
        }
    }

    if (count > 0) {
        com.setText(Integer.toString(count) + " comments");
    } else {
        com.setText(null);
    }
}
4

1 回答 1

1

我最终使用了一个CursorJoinerMatrixCursor,更多关于这里的解决方案 - http://asyncindicator.blogspot.co.il/2012/12/cursorjoiner-and-matrixcursor.html

于 2012-12-02T21:28:24.677 回答