android - 在android中显示两个混合光标

标签 android cursor adapter

我认为这是一个简单的问题,但经过彻底搜索后我找不到解决方案:

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

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

所以我很困惑,希望得到任何帮助。是否有一个真正的合并适配器可以交错数据而不是仅仅连接数据?如果没有,是否有一种方法可以创建一个适配器,该适配器根据对光标指向的特定行执行的某些业务逻辑有条件地映射和扩充布局?

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

谢谢,

最佳答案

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

关于android - 在android中显示两个混合光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11368098/

相关文章:

带有子文件夹的 Android Assets

Android:Spinner 适配器 View 类型计数必须为 1

java - 如何删除标题 View ?或者修复这个异常: "Cannot add header view to list - setAdapter has already been called"

android - 如何从 BackStack 恢复现有的 Fragment

android - 声明 session 时 Opentok 应用程序崩溃

android - 使用游标和 SimpleCursorAdapter 更新 ListView

javascript - 如何在 Froala 编辑器中将光标置于末尾

android - 使用适配器在电脑上查看手机屏幕

android - 带有Android Studio的android-maps-utils文件夹

mysql - 存储过程中出现错误(错误代码 : 1064)