Bạn có thể sử dụng CursorJoiner để lấy thứ gì đó tương tự như việc hợp nhất hai Con trỏ thành một. CursorJoiner không thực sự thực hiện hợp nhất. Khi bạn lặp lại nó, nó sẽ di chuyển hai Con trỏ ban đầu để các hàng của chúng sẽ khớp với nhau trên (các) cột được chỉ định. Đây là lý do tại sao cần phải sắp xếp cả hai Con trỏ trên các cột sẽ được sử dụng trong phép nối.
Liên kết đến tài liệu:http://developer.android.com/reference/android/database/CursorJoiner.html
Ví dụ về mã:
CursorJoiner joiner = new CursorJoiner(userCursor, new String[]{ "user_id" }, postCursor, new String[] {"user_id"});
while (joiner.hasNext()) {
CursorJoiner.Result result = joiner.next();
switch (result) {
case LEFT:
// don't care about this case
break;
case RIGHT:
// nor this case
break;
case BOTH:
// here both original Cursors are pointing at rows that have the same user_id, so we can extract values
int postId = postCursor.getInt(...);
String headline = postCursor.getString(...);
int userId = userCursor.getInt(...);
String userName = userCursor.getString(...);
// do something with above values
break;
}
}