在android中显示两个混合游标

时间:2012-07-06 18:55:57

标签: android cursor adapter

我认为这是一个直截了当的问题,但经过彻底的搜索后我找不到任何解决方案:

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

我看到一些使用MergeAdapter的建议。但是,除非我遗漏了某些东西,MergeAdapter只是连接两个Adapters,它并没有真正合并它们。同样,我已经看到了使用MatrixCursor或MergeCursor创建单个统一游标然后为其创建适配器的建议。似乎都不是一个好的解决方案。 MergeCursor只出现连接游标,而MatrixCursor似乎要求我遍历两个数据集开始逐行构建游标。即使这些是可接受的解决方案,我仍然有问题,不同的架构需要在屏幕上不同的布局。如何根据基础数据类型对不同的布局进行膨胀?

所以我很难过,并且会感激任何帮助。是否有一个真正的合并适配器,它将交错数据而不是仅仅连接数据?如果没有,有没有办法创建一个适配器,它根据光标指向的特定行的某些业务逻辑有条件地映射和膨胀布局?

对不起,如果我遗漏了一些明显的东西。

谢谢,

1 个答案:

答案 0 :(得分:3)

要回答我自己的问题,似乎构建一个带有合并排序列表类型算法的Matrix游标,逐步通过两个游标,然后通过用if语句覆盖newView()方法来有条件地膨胀行布局是唯一可行的解​​决方案。一旦我弄清楚了细节,我会为任何感兴趣的人发布代码。