Мне нужно преобразовать один из объектов моей модели (который был автоматически заполнен с помощью Json с помощью Retrofit) в объект Realm.Как создать новый объект RealmObject, содержащий RealmList
Сначала мой код был new RealmPoll()
вместо realm.createObject(RealmPoll.class)
. (Я получал NullPointerException
точно так же, как this question) Так что я решил эту проблему. Но я не могу найти способ скопировать RealmList.
Я не могу найти примеры создания RealmObjects с RealmLists в official Realm website tutorial и docs говорят
Только Realm может создать управляемые RealmLists. Управляемые RealmLists будут автоматически обновлять содержимое всякий раз, когда базовое Realm обновляется и может быть доступно только с помощью получателя RealmObject.
, который заставляет меня поверить, что это как-то невозможно? Но это действительно простая задача. Я не знаю, как интерпретировать смысл документов.
Можно ли каким-либо способом просто преобразовать объект (например, RetrofitPoll ниже) в объект realm (например, 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;
}