Ich muss eines meiner Modellobjekte (die von Json automatisch mit Retrofit gefüllt wurden) in ein Realm-Objekt konvertieren.So erstellen Sie ein neues RealmObject, das eine RealmList enthält
Zuerst war mein Code new RealmPoll()
anstelle von realm.createObject(RealmPoll.class)
. (Ich bekam NullPointerException
genau wie this question) Also löste ich dieses Problem. Aber ich kann keine Möglichkeit finden, eine RealmListe zu kopieren.
Ich kann keine Beispiele für das Erstellen RealmObjects mit RealmLists im official Realm website tutorial und die docs sagen
Nur Realm verwaltet RealmLists schaffen finden. Verwaltete RealmLists aktualisieren den Inhalt automatisch , wenn das zugrunde liegende Realm aktualisiert ist und nur mit dem Getter eines RealmObject zugegriffen werden kann.
was macht mich glauben, dass es irgendwie nicht möglich ist? Aber es ist eine wirklich einfache Aufgabe. Ich weiß nicht, wie ich die Bedeutung der Dokumente interpretieren soll.
Gibt es eine Möglichkeit, ein Objekt (z. B. RetrofitPoll unten) nur in ein Realm-Objekt (z. B. RealmPoll) zu konvertieren, wenn es eine Liste enthält?
Eine Funktion, die meine Frage stellt:
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;
}