Sie können einen CursorJoiner verwenden, um etwas Ähnliches wie das Zusammenführen von zwei Cursorn zu einem zu erhalten. Der CursorJoiner führt nicht wirklich eine Zusammenführung durch. Wenn Sie darüber iterieren, werden die ursprünglichen zwei Cursors so verschoben, dass ihre Zeilen mit den angegebenen Spalten übereinstimmen. Aus diesem Grund ist es notwendig, dass beide Cursor nach den Spalten sortiert werden, die im Join verwendet werden sollen.
Link zur Dokumentation:http://developer.android.com/reference/android/database/CursorJoiner.html
Codebeispiel:
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;
}
}