我有一个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
我该如何解决?