Il modo corretto per creare un nuovo RealmObject con la chiave primaria esistente è l'utilizzo di realm.createObject(EmailRealmModel.class, emailID)
metodo.
Frammento di codice completo:
realm.beginTransaction();
EmailRealmModel email = realm.createObject(EmailRealmModel.class, emailID);
mailBoxRealmModel.getEmails().add(email);
realm.commitTransaction();
Oppure, se desideri che l'aggiornamento venga archiviato nell'oggetto realm utilizzando una delle istanze inmemory, dovresti chiamare realm.copyToRealmOrUpdate(obj)
.
Esempio dalla documentazione:
// For create managed proxy, you should wrap EmailRealmModel object by call copyToRealmXXX
EmailRealmModel email = realm.copyToRealmOrUpdate(new EmailRealmModel(id));
mailBoxRealmModel.getEmails().add(email);