1

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

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

我看到一些使用 MergeAdapter 的建议。但是,除非我遗漏了什么,否则 MergeAdapter 只是连接两个适配器,它并没有真正合并它们。同样,我看到了使用 MatrixCursor 或 MergeCursor 创建单个统一光标然后为此创建适配器的建议。似乎都不是一个好的解决方案。MergeCursor 似乎只是连接游标,而 MatrixCursor 似乎要求我遍历两个数据集开始逐行完成构建游标。即使这些是可以接受的解决方案,我仍然有不同的模式需要在屏幕上不同的布局的问题。我将如何根据基础数据类型膨胀不同的布局?

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

抱歉,如果我遗漏了一些明显的东西。

谢谢,

4

1 回答 1

3

为了回答我自己的问题,似乎使用合并排序列表类型算法构建矩阵游标,遍历两个游标,然后通过使用 if 语句覆盖 newView() 方法有条件地扩展行布局是唯一可行的解​​决方案. 一旦我制定了详细信息,我将为任何感兴趣的人发布代码。

于 2012-07-20T02:13:27.353 回答