Android领域 - copyToRealmOrUpdate清除RealmList

时间:2016-08-02 08:07:36

标签: android realm

我有一个Realm对象" TaskEntity"它有RealmList字段。

public class TaskEntity extends RealmObject {
    ...
    private RealmList<ContextEntity> contexts;
}

我通过构造函数创建此实体的新实例,并复制Realm对象中的字段值。

TaskEntity task = mRealm.where(TaskEntity.class).findFirst();
TaskEntity newTask = new TaskEntity();
newTask.setId(task.getId());
newTask.setName(task.getName());
newTask.setContexts(task.getContexts()); //copying of RealmList

当用户进行一些更改并想保存时,我会调用copyToRealmOrUpdate

mRealm.executeTransaction(new Realm.Transaction() {
    @Override
    public void execute(Realm realm) {
        mRealm.copyToRealmOrUpdate(newTask);
    }
});

有时旧状态在RealmList中有几个项目,用户不会在该字段中进行更改。因此,当我致电copyToRealmOrUpdate时,RealmList会变空。

newTask.getContexts().size(); // 2 items
mRealm.executeTransaction(new Realm.Transaction() {
    @Override
    public void execute(Realm realm) {
        mRealm.copyToRealmOrUpdate(newTask);
    }
});
newTask.getContexts().size(); // 0 items

我该如何解决?

0 个答案:

没有答案
相关问题