Ich verwende Bereich für meinen Android Apps, also ich mag meinen Bill Objekt aktualisieren, um die gleichen Primärschlüssel, aber am Ende mitRealm Update fehlgeschlagen - Android
FATAL AUSNAHME: Haupt Prozess: com. example.rikirikmen.billsplit, PID: 22045 io.realm.exceptions.RealmPrimaryKeyConstraintException: Wert bereits existiert: 1
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
Bill updateBill = realm.where(Bill.class).equalTo("Bill_ID", bill).findFirst();
DetailMenu menu = realm.createObject(DetailMenu.class);
menu.setMenuID(MenuID);
menu.setMenuName(String.valueOf(menuName.getText()));
menu.setMenuPrice(Price);
menu.setQuantity(Qty);
for (int i = 0; i < adapter.getPersonMenuObjList().size(); i++) {
PersonInMenu pim = realm.createObject(PersonInMenu.class);
pim.setPersonID(adapter.getPersonMenuObjList().get(i).getPersonID());
pim.setStatus(adapter.getPersonMenuObjList().get(i).isStatus());
menu.personInMenus.add(pim);
}
updateBill.detailmenu.add(menu);
realm.copyToRealmOrUpdate(updateBill);
}
});
was meinst du? Ich muss ein Objekt erstellen? das Objekt, das bereits in einer anderen Aktivität erstellt wurde .. Ich möchte nur das Objekt aktualisieren. –
was meinst du in der Transaktion? Realm hat eine neue Methode realm.executetransaction für ersetzt realem.begintransaction und commit –