2016-04-07 3 views
0

特定のIDについては、Realmの既存のリストアイテムを更新しようとしています。レルムの既存のアイテムを更新する

は、ここで私はアビーにRemeoからRECのID#102の名前を変更したい私のJSON構造

enter image description here

です。

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のフィールドを持っていて、ユーザーがthtから5つのアイテムを変更した場合に、私はリストアイテム全体を置き換えたいのですが、どうすればよいですか – Hunt

+0

私が言ったのと同じ方法です。指定されたレルムオブジェクトにアクセスし、そのレルムオブジェクトにデータを書き込み、コミットする必要があります。しかし、オブジェクト上で 'removeFromRealm()'を呼び出して同じIDを持つ別のオブジェクトを追加することもできますが、それでもオブジェクトを選択する必要があります。 – EpicPandaForce

+0

技術的には、リストから削除するには、アイテムに対して 'removeFromRealm()'を使って領域から削除する必要があります。 – EpicPandaForce