如何在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);
    }
}

是否有一种通过直接附件更新状态的方法?

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);
        }
    });
}

最新更新