我不知道爲什麼我看到奇怪的行爲,當我試圖更新Realm中沒有更新布爾字段的行時設置爲false。 我在這裏沒有更新我的布爾字段,即noti
和adult
: -在copyToRealmOrUpdate領域上布爾字段設置爲false
案例1:
Realm.init(context);
Realm realm = Realm.getDefaultInstance();
UserDetails m2= new UserDetails();
m2.setUserid(1);
m2.setSort(paths_Vvalue[position]);
realm.beginTransaction();
realm.copyToRealmOrUpdate(m2);
realm.commitTransaction();
這段代碼執行後,他們(noti
和adult
)甚至他們之前保存爲假分別爲true
這是一個錯誤? 一切工作正常,如果我添加和更新這些字段,如: -
案例2:
Realm.init(context);
Realm realm = Realm.getDefaultInstance();
UserDetails res = realm.where(UserDetails.class).equalTo("userid", 1).findFirst();
UserDetails m2= new UserDetails();
m2.setUserid(1);
m2.setSort(paths_Vvalue[position]);
m2.setAdult(res.getAdult()); //setting boolean
m2.setNoti(res.getNoti()); //setting boolean
realm.beginTransaction();
realm.copyToRealmOrUpdate(m2);
realm.commitTransaction();
一切正常,在這種情況下,但仍,
我做得不對的case 1或者這是一個bug的還是一個領域的功能?
任何提示將非常感謝!
什麼是UserDetails類? –
領域對象類@ M.Prokhorov – phpdroid
所以,它是一個非託管的Realm對象,並且它們沒有任何構造函數。這意味着您的原始布爾值將以其默認值「false」初始化。並且在請求更新後,值將隨着該實例中包含的內容而更新。它正如預期的那樣工作。 –