Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用域更新列表中的现有项_Android_Realm - Fatal编程技术网

Android 使用域更新列表中的现有项

Android 使用域更新列表中的现有项,android,realm,Android,Realm,我正在尝试为特定id更新域中的现有列表项 这是我的json结构 我想把rec id 102的名字从Remeo改为Abby RealmResults<Appointment> checkData = realm.where(Collage.class).equalTo("EmployeeList.empid","102").findAll().where().equalTo("EmployeeList.empid","102").findAll(); if(checkData.

我正在尝试为特定id更新域中的现有列表项

这是我的json结构

我想把rec id 102的名字从Remeo改为Abby

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等


然后在这种情况下,如果列表中存在整个EmployeeList项,我想替换它。

如果您知道名称已更改,但如果我在EmployeeList项中有10个字段,并且用户已从tht更改了5个项,则可以这样做。我想替换整个列表项“我该怎么做”,就像我说的那样。您需要访问给定的领域对象,将数据写入其中,然后提交。但是,您也可以对该对象调用removeFromRealm并添加另一个具有相同ID的对象,但为此,您仍然必须选择该对象。从技术上讲,要从列表中删除,您必须使用项目上的removeFromRealm将其从域中删除。
// in transaction
Employee employee = realm.where(Employee.class).equalTo("empid", 102).findFirst();
if(employee != null)  employee.setName("Abby");
realm.commitTransaction();