领域:更新保留先前值的对象

时间:2016-04-19 14:04:42

标签: android realm

我试图更新对象列表,保留那些已修改过的对象。

我试图实现这一目标的方式是:

  1. 获取修改后的项目,并在以后将其重新插入列表中。
  2. 清除列表。
  3. 添加新对象(来自服务器)。
  4. 重新插入先前分离的对象子组(步骤1)。
  5. 
    
        RealmResults list = r.where(ExampleObject.class)
            .equalTo("state", VAR.STATE.MODIFIED).or()
            .equalTo("state", VAR.STATE.CLOSED)
            .findAll();
    
        r.where(ExampleObject.class)
            .equalTo("state", VAR.STATE.ORIGINAL)
            .findAll()
            .clear();
    
        r.copyToRealmOrUpdate(result); // here, list becomes 0!!!
        r.copyToRealmOrUpdate(list);
    
    
    

    问题:

    当我添加新数据时,所有对象都会被重写,使得已修改的对象(STATE.MODIFIED)变为STATE.ORIGINAL

    有没有办法保存本地存储的对象的值?

    所有这一切都是为了避免手动循环整个列表

0 个答案:

没有答案