如何将RealmResults<E>
转换为List<E>
?
我尝试使用方法copyFromRealm
:
RealmResults<EventRealm> result = realm.where(EventRealm.class).findAll();
EventRealm eventRealm = result.get(0);
int id = eventRealm.getId(); // return id 2564
String title = eventRealm.getTitle(); // return "My event"
List<EventRealm> copied = realm.copyFromRealm(result);
EventRealm eventRealm1 = copied.get(0);
int id1 = eventRealm1.getId(); // return id 0
String title1 = eventRealm1.getTitle(); // return "My event"
但不太明白为什么复制getTitle()
会给出正确的结果,但getId()
不正确。
模型
public class EventRealm extends RealmObject {
@PrimaryKey
private int id;
private String title;
public int getId() {
return id;
}
public void setId(int id) {
this.id = this.id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
答案 0 :(得分:8)
问题在于您的setId
方法。
现在就这样做了:
public void setId(int id) {
this.id = this.id;
}
应该是
public void setId(int id) {
this.id = id;
}