2017-06-16 2 views
1

Gibt es eine Möglichkeit, alle (oder nur die nächsten) RealmObject s mit Strings lexikographisch größer als das Ziel zu finden?Realm String greaterThan

So etwas wie

MyEntry next = realm.where(MyEntry.class) 
     .greaterThan("name", current) 
     .findAllSorted("name") 
     .first(); 

, die nicht arbeiten, weil greaterThan nicht für String s umgesetzt wird.

+2

Erstellt https://github.com/realm/realm-java/issues/5078 –

Antwort

1

Als nicht-db-Problem zu umgehen, können Sie

List<MyEntry> l = realm.where(MyEntry.class) 
    .findAllSorted("name"); 
int pos = l.indexOf(entryWithName); 
MyEntry next = l.get((pos+1)%l.size()); 

verwenden Dies macht die Suche außerhalb der db. Möglicherweise nicht so leistungsfähig und nicht so gut lesbar, aber es sollte funktionieren.

+1

Schöne Lösung, ich mag es. Und ich kenne keinen besseren. – EpicPandaForce

Verwandte Themen