在Android中, MergeCursor类用于合并两个结果集,与CursorJoin类水平合并(增加列)不同的是,MergeCursor是两个结果集的垂直合并,即将第二个结果集的每一行增加到第一个结果集行的后面。
主要用法:
Cursor[] cursors = new Cursor[2];
cursors[0] = getContentResolver().query(……);
cursors[1] = getContentResolver().query(……);
Cursor merCur = new MergeCursor(cursors);
需要注意的是,两个合并结果集的列名和数量都不需要相同。MergeCursor只是简单的将第二个的结果直接加到第一个结果集的后面,而并不比较列名进行匹配添加。
例如,第一个查询的结果集为:
| _id | name | title |
| 1 | zhangsan | engineer |
| 2 | lisi | professor |
第二个查询的结果集为:
| name | _id |
| wangwu3 | 3 |
| chenliu | 4 |
则用MergeCursor合并后的结果集为
| _id | name | title |
| 1 | zhangsan | engineer |
| 2 | lisi | professor |
| wangwu | 3 | |
| chenliu | 4 |
本文深入解析Android开发中MergeCursor类的功能,重点讲解如何实现两个结果集的垂直合并,即如何将第二个结果集的每一行直接添加到第一个结果集的行后,同时说明MergeCursor与其他Cursor类的区别,如CursorJoin类的水平合并特性。
453

被折叠的 条评论
为什么被折叠?



