android - 从 RealmList 中删除 RealmObject

标签 android realm realm-list

我有一个名为 RealmObjectA,它包含在 RealmObjects B 和 CRealmList 中. BC 都具有多对多 关系。

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

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

最佳答案

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

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对象)

关于android - 从 RealmList 中删除 RealmObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40015386/

相关文章:

ios - 首选哪种 MobileDB 容器来存储用户数据模型(iOS)?

android - 提交 Realm 响应的 Retrofit 2

realm - 在 Electron JS 应用程序上使用 npm 中的 Realm

android - 查询包含在其他对象上的 Realm 数据

android - 将包发送到另一个 Activity

java - 在 Android 中的两个 Activity 之间来回发送数据

ios - 将新对象添加到 Realm 中的现有列表

新 RealmList 内字符串字段的 Realm 迁移

java - LibGDX AssetManager 在模拟器上加载 .wav 文件,但在移动设备上不加载

android - 在不重新启动的情况下调试已经运行的应用程序