2017-04-21 41 views
0

我正在使用领域版本3.1.1。我想删除使用领域数据库的对象,我写了下面的代码,但它没有清除对象;对象保留了旧的价值。使用领域删除对象不起作用

realm.beginTransaction(); 
RealmResults<User> results1 =realm.where(User.class).findAll(); 
results1.deleteAllFromRealm(); 
realm.commitTransaction(); 

我无法使用deleteAllFromRealm方法删除对象。我应该怎么做?

+0

改进大小写,语法略微和代码布局 – lukkea

回答

0

尝试下面的代码,它可能会工作。

realm.executeTransaction(new Realm.Transaction() { 
      @Override 
      public void execute(Realm realm) { 
       try { 
        RealmResults<User> users=realm.where(User.class).findAll(); 
        if (users.size() > 0) { 
         users.deleteAllFromRealm(); 
        } 
       } catch (ParseException e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
0

请尝试下面这段代码:

realm.beginTransaction(); 
realm.clear(User.class); 
realm.commitTransaction(); 

这将发现和删除用户类的所有对象。

希望它有帮助!

0

确保您已初始化数据库实例。或当前配置。

Realm realm = Realm.getDefaultInstance(); 

没有需要得到模型对象,你可以直接从任何领域模型

如下删除数据,

realm.beginTransaction(); 
realm.where(User.class).findAll().deleteAllFromRealm(); 
realm.commitTransaction(); 

不要忘记关闭境界上的活动或片段的破坏。

realm.close();