Realm String больше, чем

Есть ли способ найти все (или только следующий) RealmObjects со строками лексикографически больше цели?

Что-то вроде

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

который не работал, потому что greaterThan не реализовано для Strings.

1 ответ

Решение

В качестве обходного пути без использования БД вы можете использовать

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

Это делает поиск за пределами БД. Возможно, не так хорошо, и не так читабельно, но это должно работать.

Другие вопросы по тегам