Du kan använda en CursorJoiner för att få något som liknar att slå samman två markörer till en. CursorJoiner utför faktiskt inte en sammanslagning. När du itererar över den, flyttar den de ursprungliga två markörerna så att deras rader matchar den eller de angivna kolumnerna. Det är därför det är nödvändigt att båda markörerna sorteras på de kolumner som ska användas i sammanfogningen.
Länk till dokumentation:http://developer.android.com/reference/android/database/CursorJoiner.html
Kodexempel:
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;
}
}