Когда я просматриваю свой список, чтобы добавить все объекты в Realm
, они переписываются каждым из следующих, так что RecyclerView
отображает только одно изображение.Исключение основного ключевого ключа Realm: значение уже существует
На данный момент у меня есть 3 случая:
- Вызывать
copyToRealmOrUpdate()
каждый раз переписывает сохраненный объект. - Если я попытаюсь позвонить
insert()
с@PrimaryKey
, то устанавливаетсяRealmPrimaryKeyConstraintException: Value already exists: null
. - Когда я удаляю
@PrimaryKey
аннотацияRealm
завершает работу иRecyclerView
успешно показывает фотографии, но в дальнейшем все объекты могут иметь собственный дубликат, и это не выход.
Вот мои классы:
RealmObject класс
public class Picture extends RealmObject implements Serializable {
@PrimaryKey String picURL;
//getters/setters
}
Handler, где я непосредственно перебрать список в моем ImageModel.class
Handler handler = new Handler() {
@Override
public void dispatchMessage(Message msg) {
super.dispatchMessage(msg);
final List<Picture> list = (List<Picture>) msg.obj;
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
for (Picture current : list) {
realm.copyToRealmOrUpdate(current);
}
}
});
}
};
Как сохранить каждый и каждый объект в Realm w без дублирования?
Обработчик? Какие? Зачем? – EpicPandaForce
'RealmPrimaryKeyConstraintException: Значение уже существует: null', тогда ваше поле' imgURL' является 'null', когда вы вызываете' copyToRealmOrUpdate() ' – EpicPandaForce
Помог ли вам ответ? – OBX