如何删除Realm Database中的域列表

时间:2017-05-15 12:35:50

标签: android realm realm-list

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

    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列表仅清除。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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);

                                    }
                                });