2017-08-14 13 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番目のフィールドがあり、代わりにそれに基づいてソートされます。つまり、「2,1,3」は正確にソートされていません。 – EpicPandaForce

+0

自分自身を正しく表現していない可能性があります。 N個のプレイリストがあり、タイプ1,2,3のいずれかです。タイプ2のものが最初に、タイプ1のものが2番目に、タイプ3のものが3番目になるように、RealmResultsを再配置したいリスト。 – 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); 
関連する問題