使用copyFromRealm将RealmResults<E>转换为List<E>

8

我该如何将RealmResults<E>转换为List<E>?这涉及到it技术。

我尝试了使用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;
        }
  }
1个回答

8
问题出在你的setId方法上。
目前它执行的操作如下:
public void setId(int id) {
  this.id = this.id;
}

应该是这样的

public void setId(int id) {
  this.id = id;
}

4
我很抱歉,我感到惭愧,让你浪费了时间。 - Alexandr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接