Android - 将realmlist保存在领域对象中

时间:2017-04-17 11:23:17

标签: android realm-list realm-java

我有一个模特

public class Response extends RealmObject {

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

现在,我正在尝试在Response中保存task_responses realmlist但是无法成功,下面是相关代码:

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

当我在此行之前放置调试器时

response.setTaskResponses(taskResponses);

taskResponses的大小为5,但执行后它变为空,而realm存储一个空列表。

TaskResponse模型:

    public class TaskResponse extends RealmObject {

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

1 个答案:

答案 0 :(得分:1)

您可以像这样保存它将起作用

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();