【问题标题】:Deleting RealmObject from RealmList从 RealmList 中删除 RealmObject
【发布时间】:2016-10-13 07:59:32
【问题描述】:

我有一个名为 RealmObjectA,它包含在 RealmObjects B and C 中的 RealmList 中。 BC 都有 many to many 关系。

如何从B 中的RealmList 中删除A,但保持它与C 的关系(即它仍应在Cs RealmList 中)?

简而言之,我需要知道如何在不影响同一个对象的其他关系的情况下从 RealmList 中删除一个对象(而不是从 Realm 中删除它)。

【问题讨论】:

    标签: android realm realm-list


    【解决方案1】:

    就像任何列表一样,真的。

    realm.executeTransaction(new Realm.Transaction() {
        B b = realm.where(B.class).equalTo(BFields.ID, bId).findFirst();
        Iterator<A> iterator = b.getRealmList().iterator();
        while(iterator.hasNext()) {
            A a = iterator.next();
            if(a.getId().equals(idToDelete)) {
                iterator.remove(); // removes from realm list, but not from Realm
                break;
            }
        }
    });
    

    但我认为,如果您重新定义 hashCode()equals() 以基于主键工作,那么它应该也可以可靠地与 remove(Object object) 一起工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多