原文 http://blog.csdn.net/feimor/article/details/6656802
在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 |