问题是
isDone
财产
Item
并不真正属于
项目
. 如果可以在多个列表中设置同一项,则给定任务在给定列表中被视为完成的属性是该列表的属性。
public class Item extends RealmObject {
@PrimaryKey
private String id;
private String name;
//private boolean isDone;
@LinkingObjects("completedItems")
private final RealmResults<List> tasksCompletedIn = null;
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) {
// isDone = done;
//}
}
public class List extends RealmObject {
@PrimaryKey
private String id;
private String name;
private RealmList<Item> items;
private RealmList<Item> completedItems;
那么你就知道这是不是一个完整的项目如果
completedItems.contains(item)
(其中
item
是托管对象,或重写
equals
只核对
id
)