Я пытаюсь изучить основы Realm, реализуя простой проект Android. Идея состоит в том, что у пользователя есть несколько элементов и несколько списков элементов, и элемент может быть добавлен в любой из этих списков, а в списке может быть много элементов. Таким образом, между объектами Item
и List
существует связь "многие ко многим". Вот мои объекты.
public class Item extends RealmObject {
@PrimaryKey
private String id;
private String name;
private boolean isDone;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isDone() {
return isDone;
}
public void setDone(boolean done) {
isCollected = done;
}
}
public class List extends RealmObject {
@PrimaryKey
private String id;
private String name;
private RealmList<Item> items;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public RealmList<Item> getItems() {
return items;
}
public void setItems(RealmList<Item> items) {
this.items = items;
}
}
Моя проблема в том, что поле isDone
может отличаться в зависимости от статуса элемента в данном списке. Но когда я обновляю это поле в списке, все остальные элементы, добавленные в разные списки, также обновляются. Поскольку они используют один и тот же объект, это имеет смысл, но это не то поведение, которое я хочу. Есть ли способ Realm создать сводную таблицу/объект с дополнительным столбцом/полем (в этом случае isDone
)?
Любая помощь будет оценена по достоинству.
But when I update this field in a list, all the other items added to different lists get updated too.
что ты имеешь в виду? показать код - person EpicPandaForce   schedule 15.07.2018