我的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方法吗?
最佳答案
我们修复了0.88.3中的一个错误,该错误导致自定义的equal方法被覆盖。听起来您被该错误击中了:https://github.com/realm/realm-java/blob/master/CHANGELOG.md
升级到0.88.3或0.90.0应该可以解决问题。
关于android - Realm 对象覆盖等于方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37121084/