1

我有一个名为Sale. 我有一个名为allSalesSale 类的对象列表。现在我想删除SaleRealm 类中的一些对象。

    RealmResults<Sale> allSales = realm.where(Sale.class).findAll();
    RealmList<Sale> toBeDeleted = new RealmList<Sale>();

    for(Sale sale : allSales){
        String salesDate = sale.getSaleDate();
        if(salesDate.equals("01-01-2017")) {
            toBeDeleted.add(realm.copyToRealm(sale));
        }
    }

    realm.beginTransaction();
    toBeDeleted.clear();
    realm.commitTransaction();

类中的数据没有被清除,Sale而是toBeDeleted只清除了列表。

4

2 回答 2

3

您可以使用RealmList.deleteFromRealm()/RealmList.deleteAllFromRealm() 从列表和领域中删除项目。在此处查看 API 文档中的方法:https ://realm.io/docs/java/latest/api/io/realm/RealmList.html

于 2017-05-15T12:45:04.467 回答
0

您必须从领域事务中调用此方法...

realm.executeTransaction(new Realm.Transaction() {
                                    @Override
                                    public void execute(Realm realm) {
                                        saleRalmList.deleteLastFromRealm();// use to delete all

                                        //**OR** use in for loop to delete perticulr record as a location
                                        saleRalmList.deleteFromRealm(location);

                                    }
                                });
于 2017-05-16T10:31:58.853 回答