2017-08-14 93 views
0

我有自定义类型PlaylistRealmResult。每个Playlist都有一个playlistTypeId,它可以是1,2或3.我想按以下顺序在RealmResult中排序对象:2,1,3.我该怎么做?以自定义顺序对RealmResult进行排序

+0

你可以给我们完整的订单? 2,1,3,4,5,6,8,7,9 ?? –

+0

通过具有指示位置的第二个字段,并基于该字段进行排序。我的意思是,'2,1,3'不是完全*排序*。 – EpicPandaForce

+0

我可能错误地表达了我自己。有N个播放列表,每个都是1,2或3类。我希望重新排列RealmResults,以便类型2的优先顺序排在第一位,类型1排在第二位,类型3排在第三位列表。 – Booyaches

回答

0

不幸的是不支持自定义排序。主要是出于性能方面的原因,因为我们不得不对Java中的每个元素进行往返排序。您可以按照此问题上的最新情况:https://github.com/realm/realm-java/issues/2313

现在,你需要的RealmResults自己排序,但是你需要从RealmResults所有元素先复制:

RealmResults<Person> results = realm.where(Person.class).findAll(); 
List<Person> inmemResults = new ArrayList<>(); 
inmemResults.addAll(results); 
Collections.sort(inmemResults, customSort); 
相关问题