我需要將我的一個模型對象(從Json使用Retrofit自動填充)轉換爲Realm對象。如何創建一個Realmist的新RealmObject
起初,我的代碼是new RealmPoll()
而不是realm.createObject(RealmPoll.class)
。 (我得到NullPointerException
就像this question)所以我解決了這個問題。但我無法找到複製RealmList的方法。
我找不到在official Realm website tutorial創建與RealmLists RealmObjects的任何示例和docs說
只有境界可以創建管理RealmLists。 Managed RealmLists將在 更新時自動更新內容,並且只能使用RealmObject的getter訪問。
這讓我相信這是不可能的?但這是一個非常簡單的任務。我不知道如何解釋文檔的含義。
如果它包含一個列表,是否有任何方法可以將一個對象(如下面的RetrofitPoll)轉換爲一個領域對象(如下面的RealmPoll)?
一個功能,說明我的問題:
private RealmPoll convertRetrofitPollToRealmPoll(Realm realm, RetrofitPoll retrofitPoll)
{
RealmPoll realmPoll = realm.createObject(RealmPoll.class); //<----- fixed, used to be "new RealmPoll()".
//Convert List<Answer>
RealmList<RealmAnswer> realmAnswers = new RealmList<RealmAnswer>(); //<----- How to do same thing here?
for(RetrofitAnswer retrofitAnswer : retrofitPoll.getAnswers())
{
realmAnswers.add(convertRetrofitAnswerToRealmAnswer(retrofitAnswer));
}
realmPoll.setAnswers(realmAnswers);
}
RetrofitPoll.java
public class RetrofitPoll
{
private List<Answer> answers;
private String id;
private Date startDate;
private String title;
private Topic topic;
}
RealmPoll.java
public class Poll extends RealmObject
{
private RealmList<Answer> answers;
private String id;
private Date startDate;
private String title;
private Topic topic;
}