我正在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);
}
}