使用Realm for Android,我有一個String[] objectIds
的某些Realm對象的唯一ID。我試圖以與String[] objectIds
相同的順序檢索相應的Realm對象。Realm Android中的「in」查詢排序
String[] objectIds = new String[]{"1", "10", "2", "3"};
RealmResults<MyRealmObject> myRealmObjects = realm.where(MyRealmObject.class).in("id", objectIds).findAll();
for(MyRealmObject obj: myRealmObjects) {
log(obj.id) //should print 1, 10, 2, 3
}
但是,使用.findAll()似乎重新排序結果。如何使用「in」檢索對象列表並獲取與objectIds數組相同的順序?有沒有更好的方法來解決這個問題?
即我希望MyRealmObject.id == 1成爲列表中的第一個結果,MyRealmObject.id == 10成爲列表中的第二個結果等(與objectIds數組順序相同)。
什麼是排序的標準是什麼? –
@TimCastelijns我稍微更新了這個問題 - 我希望領域結果與「objectIds」數組中的字符串ID的順序相同。因此,ID爲1的「MyRealmObject」是第一個,ID 10是第二個,ID 2是第三個,等等。 – DiscDev
findAllSorted應該工作,對不對? –