Mayank
Mayank

Reputation: 259

Android - Save the realmlist inside a realm object

I have a model

public class Response extends RealmObject {

        @PrimaryKey
        private String _id;
        private RealmList<TaskResponse> task_responses;
        private AssignmentRecord assignmentRecord;
        private ResponseStatistic responseStats;
}

Now, i am trying to save task_responses realmlist inside the Response but couldn't succeed, below is the relevant code:

    mRealm.beginTransaction();
    response.setTaskResponses(taskResponses);
    response.setAssignmentRecord(assignmentRecord);
    response.setResponseStats(responseStatistic);
    mRealm.commitTransaction();

When I placed debugger before this line

response.setTaskResponses(taskResponses);

the size of taskResponses was 5 but after execution it becomes empty and realm stores a empty list.

TaskResponse Model :

    public class TaskResponse extends RealmObject {

        @PrimaryKey
        private String _id;
        private String taskId;
        private Boolean answered;
        private String answer;
        private TaskStatistic taskStat;
    }

Upvotes: 2

Views: 2563

Answers (1)

Piyush Patel
Piyush Patel

Reputation: 381

You can save like this it will work

Realm mRealm = Realm.getDefaultInstance();
    mRealm.beginTransaction();
    RealmList<TaskResponse> taskResponseslist = new RealmList();
    taskResponseslist.addAll(taskResponses);
    response.setTaskResponses(taskResponseslist);
    response.setAssignmentRecord(assignmentRecord);
    response.setResponseStats(responseStatistic);
    mRealm.commitTransaction();
    mRealm.close();

Upvotes: 2

Related Questions