猿问

java.lang.IllegalArgumentException:“值”不是具有领域的有效托

我在从服务器读取数据后使用领域来存储数据,但是当我尝试将其存储在领域中时,我得到“java.lang.IllegalArgumentException:'value'不是有效的托管对象”


这是我在领域中存储数据的方法的代码


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


            }


     

我搜索了该错误并在此处检查了此问题,但仍然收到错误,希望有人可以提供帮助吗?



紫衣仙女
浏览 136回答 1
1回答

largeQ

替换localProducts.add(product)为localProducts.add(localProduct),您已初始化localProduct但忘记将他添加到列表中,而是添加了不受 Realm 管理的产品。
随时随地看视频慕课网APP

相关分类

Java
我要回答