2017-08-14 8 views
0

Ich habe RealmResult von benutzerdefinierten Typ Playlist. Jedes Playlist hat ein Feld playlistTypeId, das entweder 1, 2 oder 3 sein kann. Ich möchte Objekte in RealmResult in der folgenden Reihenfolge sortieren: 2, 1, 3. Wie kann ich das tun?Sortieren von RealmResult in benutzerdefinierten Reihenfolge

+0

können Sie uns geben, die vollständige Bestellung? 2,1,3,4,5,6,8,7,9 ?? –

+0

Durch ein zweites Feld, das die Position angibt, und stattdessen die Sortierung. Ich meine, '2,1,3' ist nicht genau * sortiert *. – EpicPandaForce

+0

Ich habe mich vielleicht falsch ausgedrückt. Es gibt N Playlists und jede ist vom Typ 1, 2 oder 3. Ich möchte, dass die RealmResults neu geordnet werden, so dass die vom Typ 2 zuerst gehen, die vom Typ 1 an zweiter und die am Typ 3 an dritter Stelle gehen Die Liste. – Booyaches

Antwort

0

Benutzerdefinierte Sortierung wird leider nicht unterstützt. Meistens aus Performance-Gründen, da wir für jedes Element in der zu sortierenden Sammlung nach Java zurückgehen müssten. Gerade jetzt https://github.com/realm/realm-java/issues/2313

, würden Sie die RealmResults selbst sortieren müssen, aber Sie müssen alle Elemente aus den RealmResults kopieren zuerst: Sie können dieses Problem für Updates über die Situation folgen

RealmResults<Person> results = realm.where(Person.class).findAll(); 
List<Person> inmemResults = new ArrayList<>(); 
inmemResults.addAll(results); 
Collections.sort(inmemResults, customSort); 
Verwandte Themen