我在解决所有POJO和所有设置问题时遇到问题,以便正确解析我的JSON。
我对Android开发相当新,所以修复可能很简单。
我能够在没有Realm的情况下使用它。我想修改我的POJO来扩展RealmObject。我的问题是与我的关系。我的数据已设置好,因此我有一个WorkOrder类和一个WorkOrderItem类。 WorkOrder包含许多WorkOrderItem。没有领域,我在我的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。
我已经阅读了所有文档和我在网上找到的所有内容,但仍未找到解决方案。对此的任何帮助将不胜感激。
答案 0 :(得分:2)
根据要求回拨你可能会得到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) {
}
});