"FOO1000"、 "FOO1100"、 "FOO150"などの値を持つフィールド "name"(String)を持っていて、Java用のrealm-io(Android、0.89.1)を使用してそれらを取得します。realm.ioの自然な仕分け方法は?
.findAllSorted( "name"、Sort.ASCENDING)を使用すると、自然にソートされません。出力は私が達成したいことは
のような自然なソートですFOO150
FOO1000
FOO1100
FOO1000
FOO1100
FOO150
になります
自然な並べ替えを行う方法はありますか?
数字だけの場合、Realmは自動的に "自然な"ソートを使用しますか?知っておいて;) 問題は、私の値は固定されており、私はそれらを変更することはできません。 String + Integerの値を自然にソートするための良い/演奏方法を提案できますか?おそらくRealmResultで2番目のsort()を実行しますか?これは可能ですか? – hardysim
文字列の番号部分でソートする場合は、別のフィールドに分割してそのフィールドのソートを行う必要があります。 –
その後、RealmResultで 'sort()'を複数回呼び出してソート順階層を定義することができます。後続の各呼び出しで新しいレベルが追加され、前のレベルに同じ値がある場合に適用されます。 – marius