Der richtige Weg, ein neues RealmObject mit einem vorhandenen Primärschlüssel zu erstellen, ist die Verwendung von realm.createObject(EmailRealmModel.class, emailID)
Methode.
Vollständiges Codefragment:
realm.beginTransaction();
EmailRealmModel email = realm.createObject(EmailRealmModel.class, emailID);
mailBoxRealmModel.getEmails().add(email);
realm.commitTransaction();
Oder wenn Sie möchten, dass das Update im Realm-Objekt gespeichert wird, das eine der In-Memory-Instanzen verwendet, sollten Sie realm.copyToRealmOrUpdate(obj)
aufrufen .
Beispiel aus Dokumentation:
// For create managed proxy, you should wrap EmailRealmModel object by call copyToRealmXXX
EmailRealmModel email = realm.copyToRealmOrUpdate(new EmailRealmModel(id));
mailBoxRealmModel.getEmails().add(email);