2016-04-07 5 views
0

Ich versuche, vorhandene Listenelement in Realm für eine bestimmte ID zu aktualisieren.aktuelles Element in der Liste aktualisieren mit Realm

hier ist meine Json Struktur

enter image description here

i Name von rec-ID # 102 von REMEO zu Abby ändern möchten.

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); 

    } 

, wenn ich mehr Felder in EmployeList Artikel haben, zum Beispiel

empid , empname , empaddress , empphone etc

dann in diesem Fall möchte ich das ganze EmployeList Artikel ersetzen, wenn sie in einer Liste vorhanden sind.

Antwort

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

Nun, das kann getan werden, wo Sie wissen, dass der Name geändert hat, aber wenn ich 10 Felder in der Mitarbeiterliste Artikel und Benutzer hat 5 Artikel von tht. Ich möchte das gesamte Listenelement ersetzen, wie mache ich tht – Hunt

+0

So wie ich schon sagte. Sie müssen auf das angegebene Realm-Objekt zugreifen, die Daten darin schreiben und festschreiben. Sie können aber auch 'removeFromRealm()' für das Objekt aufrufen und ein weiteres mit der gleichen ID hinzufügen, aber dafür müssen Sie das Objekt noch auswählen. – EpicPandaForce

+0

Um aus der Liste zu entfernen, müssen Sie es technisch aus dem Realm entfernen, indem Sie 'removeFromRealm()' auf dem Objekt verwenden. – EpicPandaForce

Verwandte Themen