Reputation: 2253
This is a my RealmObject class
public class VinScannerHistoryModel extends RealmObject {
@Required
private String vinNumber;
@Required
private String userName;
@Required
private String status;
private RealmList<ImagesObject> imagesObjects;
public String getVinNumber() {
return vinNumber;
}
public void setVinNumber(String vinNumber) {
this.vinNumber = vinNumber;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public RealmList<ImagesObject> getImagesObjects() {
return imagesObjects;
}
public void setImagesObjects(RealmList<ImagesObject> imagesObjects) {
this.imagesObjects = imagesObjects;
}
}
This is a RealmList class
public class ImagesObject extends RealmObject {
public String getImageName() {
return imageName;
}
public void setImageName(String imageName) {
this.imageName = imageName;
}
private String imageName;
} I try to add some elements in my table,but in RealmList added last elements in for loop.This is a my code
ImagesObject imagesObject = mRealm.createObject(ImagesObject.class);
VinScannerHistoryModel vinScannerHistoryModel = mRealm.createObject(VinScannerHistoryModel.class);
vinScannerHistoryModel.setVinNumber(vinNumber.getText().toString());
vinScannerHistoryModel.setStatus(status);
if(Global.imagePath!=null && Global.imagePath.size()>0)
{
for (int i = 0; i < Global.imagePath.size(); i++) {
imagesObject.setImageName(Global.imagePath.get(i));
vinScannerHistoryModel.getImagesObjects().add(imagesObject);
}
}
vinScannerHistoryModel.setUserName(vinScannerModel.getName());
mRealm.commitTransaction();
Global.imagePath is a String array and contains two elements and in RealmLis added last element twice How i can solve my problem? Thanks everyone
Upvotes: 0
Views: 1747
Reputation: 689
Please try with the following snippet.
ImagesObject imagesObject = mRealm.createObject(ImagesObject.class);
RealmList<ImagesObject> imagesObjectList = new RealmList();
VinScannerHistoryModel vinScannerHistoryModel = mRealm.createObject(VinScannerHistoryModel.class);
vinScannerHistoryModel.setVinNumber(vinNumber.getText().toString());
vinScannerHistoryModel.setStatus(status);
if(Global.imagePath!=null && Global.imagePath.size()>0)
{
for (int i = 0; i < Global.imagePath.size(); i++) {
imagesObject.setImageName(Global.imagePath.get(i));
imagesObjectList.add(imagesObject);
}
}
vinScannerHistoryModel.setImagesObjects(imagesObjectList);
vinScannerHistoryModel.setUserName(vinScannerModel.getName());
mRealm.commitTransaction();
Upvotes: 2