ObjectA
的模型如下所示:
public class ObjectA extends RealmObject {
@Override
public boolean equals(Object objectA) {
}
}
在我的一个片段中,我有一个编辑表单来更改ObjectA
实例的属性,并且当用户从该片段中退出时,我想提出一个丢弃更改对话框。
在这个片段中,我引用了objectA
我编辑的简单POJO。它看起来像这样:
public ObjectA objectA;
public ObjectA originalObjectA = realm.copyFromRealm(objectA);
既然我们可以在我们的领域模型中覆盖equals
方法,我可以检测到更改,但是为了调用我的覆盖方法,我必须这样做:
originalObjectA.equals(objectA);
不是相反:
objectA.equals(originalObjectA);
知道为什么我只能从POJO引用调用我的自定义equals方法而不是我的live realm对象吗?
答案 0 :(得分:1)
我们修复了0.88.3中的一个错误,该错误导致自定义的等同方法被覆盖。听起来你正受到这个错误的影响:https://github.com/realm/realm-java/blob/master/CHANGELOG.md
升级到0.88.3或0.90.0应解决问题。