Я пытаюсь создать асинхронный вызов Realm, используя findFirstAsync
.
Realm.getDefaultInstance().where<MyModel>().findFirstAsync()
Но это всегда приводит к «недопустимому объекту» (он не падает, но возвращенный объект возвращает false
on isValid()
).
Это проблема, потому что я хочу использовать LiveRealmObject , который проверяет наличие isValid()
в конструкторе.
С другой стороны,синхронный findFirst()
работает (поэтому запрос правильный) и findAllAsync()
также работает правильно (и поэтому LiveRealmResults ).
Обходной путь (который я в настоящее время использую)) должен использовать findAllAsync()
и получить первую запись, используя firstOrNull()
в слушателе (LiveData-Observer).
Но было бы чище возвращать только один элемент, когда нужен только один.Кроме того, я думаю, что где-то есть ошибка, так что давайте исправим ее.