2017-04-21 76 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();