2016-02-16 13 views
8

Làm cách nào để chuyển đổi RealmResults<E> thành List<E>?Chuyển đổi RealmResults <E> thành Danh sách <E> với copyFromRealm

Tôi đã thử với phương pháp 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" 

Nhưng không hoàn toàn hiểu tại sao trong bản sao getTitle() cho kết quả chính xác, nhưng getId() không chính xác.

Mẫu

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; 
     } 
    } 

Trả lời

8

Vấn đề là phương pháp setId của bạn.

Ngay bây giờ nó thực hiện điều này:

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

Nó phải là

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

Tôi xấu hổ, tôi xin lỗi vì thời gian của bạn dành – Alexandr

Các vấn đề liên quan