我在從服務(wù)器讀取數(shù)據(jù)后使用領(lǐng)域來存儲(chǔ)數(shù)據(jù),但是當(dāng)我嘗試將其存儲(chǔ)在領(lǐng)域中時(shí),我得到“java.lang.IllegalArgumentException:'value'不是有效的托管對(duì)象”這是我在領(lǐng)域中存儲(chǔ)數(shù)據(jù)的方法的代碼public void addOrdersToLocalDB(Order order,List<Product> products) { realmAsyncTask = myRealm.executeTransactionAsync(new Realm.Transaction() { @Override public void execute(Realm realm) { Order localOrder = realm.createObject(Order.class, order.getId()); localOrder.setName(order.getName()); localOrder.setTimestamp(order.getTimestamp()); localOrder.setDate(order.getDate()); localOrder.setCost(order.getCost()); localOrder.setProductNums(order.getProductNums()); localOrder.setTime(order.getTime()); Log.d("orders_data", "realm order : " + order.getName()); RealmList<Product> localProducts = new RealmList<>(); for (Product product : products){ Log.d("orders_data", "realm product : " + product.getName()); Product localProduct = realm.createObject(Product.class, product.getId()); localProduct.setName(product.getName()); localProduct.setBarCode(product.getBarCode()); localProduct.setCurrentQuantity(product.getCurrentQuantity()); localProduct.setStatus(product.getStatus()); localProduct.setOldUnitPrice(product.getOldUnitPrice()); localProduct.setImage(product.getImage()); localProduct.setNeededQuantity(product.getNeededQuantity()); localProduct.setTotalPrice(product.getTotalPrice()); localProduct.setDescription(product.getDescription()); localProduct.setUnitPrice(product.getUnitPrice()); localProduct.setTimeStamp(product.getTimeStamp()); localProducts.add(product); } 我搜索了該錯(cuò)誤并在此處檢查了此問題,但仍然收到錯(cuò)誤,希望有人可以提供幫助嗎?
1 回答
largeQ
TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊
替換localProducts.add(product)為localProducts.add(localProduct),您已初始化localProduct但忘記將他添加到列表中,而是添加了不受 Realm 管理的產(chǎn)品。
添加回答
舉報(bào)
0/150
提交
取消
