3

Is there any way to find all (or just the next) RealmObjects with Strings lexicographically greater than the target?

Something like

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

which did not work, because greaterThan is not implemented for Strings.

serv-inc
  • 35,772
  • 9
  • 166
  • 188

1 Answers1

1

As a non-db-workaround, you can use

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

This does the searching outside of the db. Possibly not as well-performing, and not as readable, but it should work.

serv-inc
  • 35,772
  • 9
  • 166
  • 188