我遇到了一个问题,我删除了RealmObject(并确认它使用StethoRealm),但是当我创建并保存具有相同变量值的新RealmObject时,删除的RealmObject与我的新RealmObject一起再现。Android领域 - RealmObject删除后返回
随着下方的对象 - 我通过匹配“身份证”删除myObject1,但是当我创建一个新的MyObject myObject2用相同的名字“两个物体出现在我的境界上
任何提示,为什么这可能正在发生?
例子:
public class MyObject extends RealmObject {
@PrimaryKey
private String id;
private String name;
// getters and setters
}
编辑
删除通话
@Override
public void deleteMyObjectById(final String id, final OnDeleteMyObjectById callback) {
Realm realm = new MyRealmConfiguration().getDefaultRealm();
final RealmResults<MyObject> myObjects = realm.where(MyObject.class).equalTo(RealmTable.MyObject.ID, id).findAll();
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
myObjects.deleteAllFromRealm();
if (callback != null) {
callback.onSuccess();
}
}
});
realm.close();
}
添加通话
@Override
public void addMyObject(MyObject myObject, OnSaveMyObjectCallback callback) {
Realm realm = new MyRealmConfiguration().getDefaultRealm();
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
realm.copyToRealmOrUpdate(myObject);
if (callback != null) {
callback.onSuccess();
}
}
});
realm.close();
}
我不知道你用真正的删除和创建新的对象的方式,但你应该使用一个领域实例删除,然后得到境界的新实例创建,如果使用一个现有的领域实例创建,它仍旧引用旧的DB然后删除对象仍然出现 –
上述代码不足以调查此问题。你可以添加一些代码,包括删除和创建对象吗? – Dalinaum
'我删除了一个RealmObject(并且使用StethoRealm确认它不见了),但是当我使用相同的变量值创建并保存一个新的RealmObject时,被删除的RealmObject会与我的新RealmObject一起再次出现。“所有这些代码都应该包含在这个问题! – EpicPandaForce