Как обновить RealmObject в свойствах RealmObject?
Message extends RealmObject{
Attachment attachment;
}
Attachment extends RealmObject{
int state;
}
Я хочу обновить состояние в приложении. Я пошел по такому пути:
RealmResults<Message> allMessages = mRealm.where(Message.class)
.isNotNull("attachment")
.in("attachment.state", new Integer[]{INTERRUPTED,PENDING})
.findAll();
if (allMessages != null && allMessages.size() > 0) {
for (Message message : allMessages) {
Attachment attachment = message.getAttachment();
attachment.setState(IDLE);
}
}
Есть ли способ обновить состояние через прямое вложение?
1 ответ
Решение
Um.
try(Realm r = Realm.getDefaultInstance()) {
r.executeTransaction((realm) -> {
RealmResults<Attachment> attachments = realm.where(Attachment.class)
.in("state", new Integer[]{INTERRUPTED,PENDING})
.findAll();
for(Attachment attachment: attachments) {
attachment.setState(IDLE);
}
});
}