我在ListView
中使用自定义CursorAdapter
(帖子)显示数据。
一些帖子可能有评论(我想显示信息)和数据是在一个不同的游标(我不能加入表,因为我按照帖子ID分组,以防止ListView
中的重复。
目前在bindView
我正在迭代评论Cursor
,检查帖子ID是否等于当前视图。
这个循环可以减慢用户界面,应该在不同的线程中完成吗? (这增加了在回收视图时将数据显示在正确位置的复杂性)
这样做有更好的策略吗?我想过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);
}
}
答案 0 :(得分:1)
我最终使用了CursorJoiner
和MatrixCursor
,更多关于此处的解决方案 - http://asyncindicator.blogspot.co.il/2012/12/cursorjoiner-and-matrixcursor.html