आप दो कर्सर को एक में मिलाने के समान कुछ प्राप्त करने के लिए CursorJoiner का उपयोग कर सकते हैं। CursorJoiner वास्तव में विलय नहीं करता है। जैसे ही आप इसे फिर से चालू करते हैं, यह मूल दो कर्सर को इस तरह ले जाता है कि उनकी पंक्तियां निर्दिष्ट कॉलम पर मेल खाती हैं। यही कारण है कि दोनों कर्सर को उन स्तंभों पर क्रमबद्ध किया जाना चाहिए जो शामिल होने में उपयोग किए जाने हैं।
दस्तावेज़ीकरण का लिंक:http://developer.android.com/reference/android/database/CursorJoiner.html
कोड उदाहरण:
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;
}
}