我目前正在使用 CursorTreeAdapter 将 Curser 映射到 Android 中的 ExpandableListView。
除了在 ListView 中处理数据的方式外,一切正常。通常,所有数据都已经在我给 CursorTreeAdater 的构造函数的 Cursor 中——甚至是 Childview 的 daa。问题是 Android 期望 ChildView 的数据由 getChildrenCursor 函数接收:
@Override
protected Cursor getChildrenCursor(Cursor groupCursor) {
db.open();
return db.getEpisode(groupCursor.getString(0));
}
在这里您已经看到了问题所在。我必须返回一个游标,但我不能只“删除”游标中负责特定 subview 的一个条目。相反,我想出了一些方法,比如为每个 ChildView 查询数据库。这不仅是愚蠢的,因为数据已经存在(在 groupcursor 内),而且它也很慢。
我的问题是是否有某种功能可以只克隆游标的特定条目或只返回一个条目而不是不断查询数据库。
也许我也不喜欢使用 CursorTreeAdapter 并且使用更通用的 AdapterClass 会有所帮助。
谢谢大家 约翰内斯
最佳答案
目前我自己想出来了。
答案是从 CursorTreeAdapter 切换到 BaseExpandableListAdapter
我以前有点害怕(不知道为什么)但现在它就像一个魅力。
如果有人对代码感兴趣,我可以将其发布在这里。只需发表评论
关于android - CursorTreeAdapter - 返回 subview 数据的组游标的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5102720/