0
私はカスタムタイプPlaylist
のRealmResult
を持っています。各Playlist
にはplaylistTypeId
の1,2,3のいずれかを指定できます。RealmResult
のオブジェクトを2、1、3の順にソートしたいと思います。どうすればいいですか?カスタムオーダーでRealmResultを並べ替える
私はカスタムタイプPlaylist
のRealmResult
を持っています。各Playlist
にはplaylistTypeId
の1,2,3のいずれかを指定できます。RealmResult
のオブジェクトを2、1、3の順にソートしたいと思います。どうすればいいですか?カスタムオーダーでRealmResultを並べ替える
カスタム並べ替えは、残念ながらサポートされていません。ほとんどの場合パフォーマンス上の理由から、ソートされているコレクション内の各要素の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);
あなたは私たちを与えることができます完全な注文ですか? 2,1,3,4,5,6,8,7,9? ?? –
位置を示す2番目のフィールドがあり、代わりにそれに基づいてソートされます。つまり、「2,1,3」は正確にソートされていません。 – EpicPandaForce
自分自身を正しく表現していない可能性があります。 N個のプレイリストがあり、タイプ1,2,3のいずれかです。タイプ2のものが最初に、タイプ1のものが2番目に、タイプ3のものが3番目になるように、RealmResultsを再配置したいリスト。 – Booyaches