La forma correcta de crear un nuevo RealmObject con la clave principal existente es usar realm.createObject(EmailRealmModel.class, emailID)
método.
Fragmento de código completo:
realm.beginTransaction();
EmailRealmModel email = realm.createObject(EmailRealmModel.class, emailID);
mailBoxRealmModel.getEmails().add(email);
realm.commitTransaction();
O bien, si desea que la actualización se almacene en un objeto de reino utilizando una de las instancias en memoria, debe llamar a realm.copyToRealmOrUpdate(obj)
.
Ejemplo de la documentación:
// For create managed proxy, you should wrap EmailRealmModel object by call copyToRealmXXX
EmailRealmModel email = realm.copyToRealmOrUpdate(new EmailRealmModel(id));
mailBoxRealmModel.getEmails().add(email);