我在应用程序中发现了一个非常奇怪的行为。当我想更新记录时,一些未设置的属性在我的Realm数据库中变为空。
Penetration penetration = new Penetration();
penetration.setQrid(Integer.parseInt(qrid.getText().toString()));
penetration.setStatus(spinner.getSelectedItem().toString());
penetration.setHeight(height.getText().toString());
penetration.setWall(spinner2.getSelectedItem().toString());
penetration.setPosition(position.getText().toString());
penetration.setSparing(sparingLengte.getText().toString() + "x" + sparingBreedte.getText().toString());
penetration.setDoorvoerSoort(doorvoerSoort.getText().toString());
penetration.setDoorvoer(doorvoerLengte.getText().toString() + "x" + doorvoerBreedte.getText().toString());
penetration.setEis(Integer.parseInt(spinner3.getSelectedItem().toString()));
penetration.setExplanation(explanation.getText().toString());
penetration.setSync(1);
Realm realm = Realm.getDefaultInstance();
realm.beginTransaction();
realm.copyToRealmOrUpdate(penetration);
realm.commitTransaction();
realm.close();
在上面的代码中,我设置了除id:id和location_id之外的所有属性 这些未设置的属性在数据库中变为NULL。
这是正常行为吗?如果是这样,为什么?