2016-04-07 82 views
0

我正在嘗試更新Realm中的現有列表項目以獲取特定的ID。使用領域更新列表中的現有項目

這裏是我的JSON結構

enter image description here

我想從Remeo改變REC編號102名艾比。

RealmResults<Appointment> checkData = realm.where(Collage.class).equalTo("EmployeeList.empid","102").findAll().where().equalTo("EmployeeList.empid","102").findAll(); 

    if(checkData.size() > 0){ 


     checkData.get(0).getEmployeeLists().remove(0); 
     checkData.get(0).getEmployeeLists().add(newEmployeeListItem);   
     realm.copyToRealmOrUpdate(checkData); 

    } 

,如果我有EmployeList項目更多的領域,例如

empid , empname , empaddress , empphone etc

那麼在這種情況下,我想,如果在列表中存在整體更換EmployeList項目。

回答

0
// in transaction 
Employee employee = realm.where(Employee.class).equalTo("empid", 102).findFirst(); 
if(employee != null) employee.setName("Abby"); 
realm.commitTransaction(); 
+0

那麼這可以做到哪裏你知道你的名字已經改變,但如果我有10個領域的員工列表項目和用戶已經改變了5個項目從THT。我想要替換整個列表項目,我該怎麼做 – Hunt

+0

跟我說的一樣。您需要訪問給定的領域對象,將數據寫入它並提交。但是,您也可以在對象上調用'removeFromRealm()'並添加具有相同ID的另一個ID,但爲此您仍然必須選擇該對象。 – EpicPandaForce

+0

從技術上說,要從列表中刪除,必須使用item上的'removeFromRealm()'將其從領域中刪除。 – EpicPandaForce