我正在尝试使用findFirstAsync
创建对Realm的异步调用。
Realm.getDefaultInstance().where<MyModel>().findFirstAsync()
但是它总是导致“无效对象”(不会崩溃,但是返回的对象在false
上返回isValid()
)。
这是一个问题,因为我想使用LiveRealmObject来检查构造函数中的isValid()
。
另一方面,同步findFirst()
正在工作(因此查询正确),而findAllAsync()
也正在正常工作(因此LiveRealmResults)。
一种解决方法(我目前正在使用)是使用findAllAsync()
并使用firstOrNull()
在侦听器(LiveData-Observer)中获得第一个条目。
但是,当只需要一件物品时,退回一件物品会更清洁。另外,我认为某处存在错误,因此让我们对其进行修复。
答案 0 :(得分:0)
AFAIK唯一可行的方法是使用LiveRealmResults,如您所说,只需使用limit(1)