2012-07-06 82 views
1

混合游标我有什么,我认为是一个简单的问题,但仔细搜索后,我找不到任何解决办法:显示两个机器人

我有两个不同的数据类型的两个数据源:苹果和桔子。唯一的共同点是“datePicked”。我想要查询单独的数据库,然后在“datePicked”排序和分组的同一列表中显示苹果和桔子。

我看到一些使用MergeAdapter的建议。但是,除非我错过了某些东西,否则MergeAdapter会简单地连接两个适配器,但它并不真正合并它们。同样,我看到了使用MatrixCursor或MergeCursor创建单个统一游标然后为其创建适配器的建议。这似乎不是一个好的解决方案。 MergeCursor只显示连接游标,而MatrixCursor似乎要求我遍历两个数据集开始逐行完成游标构建。即使这些是可接受的解决方案,我仍然有问题,即不同的模式需要不同的屏幕布局。我将如何膨胀基于底层数据类型的不同布局?

所以我很难过,并希望得到任何帮助。是否有一个真正的合并适配器将交织数据而不是将其连接起来?如果没有,是否有办法创建一个适配器,该适配器根据对光标指向的特定行所做的某些业务逻辑有条件地映射和扩展布局?

对不起,如果我失去了明显的东西。

感谢,

回答

3

要回答我的问题,看来,建立一个矩阵光标合并排序列表类型的算法通过两个光标步进,然后通过重写NewView的有条件充气行布局()方法与if语句是唯一可行的解​​决方案。一旦我制定出详细信息,我将会向所有感兴趣的人发布代码。

+0

正确。如果你不能直接得到一个单独的排序游标,你可以从数据源建立一个排序后的矩阵游标,并使用一个'CursorAdapter'或者使用其他一些排序后的数据结构和一个'BaseAdapter' /'ArrayAdapter'。 – zapl 2012-08-12 00:49:06