我在获取所有POJO和所有设置时遇到问题,因此它无法正确解析我的JSON。

我是Android开发的新手,因此修复可能很简单。

我能够在没有Realm的情况下使它正常工作。我认为修改了我的POJO来扩展RealmObject。我的问题是我的人际关系。我的数据已经设置好,所以我有一个WorkOrder类和一个WorkOrderItem类。一个WorkOrder包含许多WorkOrderItems。没有领域,我在POJO中将其定义为

private List<WorkOrderItem> workOrderItems = new ArrayList<WorkOrderItem>();


当我修改它以扩展RealmObject时,我开始遇到问题。我努力了

private RealmList<WorkOrderItem> workOrderItems;


以及

private RealmList<WorkOrderItem> workOrderItems = new RealmList<WorkOrderItem>();


无论哪种方式,我都会继续收到以下错误:

Error:(831, 82) error: incompatible types: List<WorkOrderItem> cannot be converted to RealmList<WorkOrderItem>


我已经按照文档中的建议设置了GsonConverter。

我已经阅读了所有文档以及可以在网上找到的所有内容,但仍未找到解决方案。任何帮助,将不胜感激。

最佳答案

在请求回调时,您可能会得到一个List <WorkOrderItem>
因此,我认为您需要从列表中创建Realmlist <WorkOrderItem>

您需要有两个对象WorkOrderItem和其他WorkOrderItemRealm extends RealmObject

例如 :

List<WorkOrderItem> mWorkOrderList...
RealmList<WorkOrderItem> mRealmList... //WorkOrderItem need to be a RealmObject


...new Callback<List<WorkOrderItem> mWorkOrderList>() {

    @Override
    public void success(List<WorkOrderItem> mWorkOrderList, Response response) {

        for(WorkOrderItem mWorkOrderItem : mWorkOrderList){

            //create WorkOrderItemRealm
            WorkOrderItemRealm mWorkOrderItemRealm = realm.createObject(WorkOrderItemRealm.class);

            //mWorkOrderItemRealm.set...(mWorkOrderItem.get...());

            mRealmList.add(WorkOrderItemRealm);
        }
    }

    @Override
    public void failure(RetrofitError error) {

    }
});

关于java - Android Realm Retrofit关系错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29056606/

10-08 23:47