2017-02-19 119 views
0

添加元素这是一个我RealmObject类如何RealmList

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

}

这是一个RealmList类

public class ImagesObject extends RealmObject { 
public String getImageName() { 
    return imageName; 
} 

public void setImageName(String imageName) { 
    this.imageName = imageName; 
} 

private String imageName; 

} 我尝试在我的表中添加一些元素,但在RealmList中添加了for循环中的最后一个元素。这是我的代码

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是一个字符串数组,包含两个元素,并在RealmLis中添加了最后一个元素两次 我该如何解决我的问题? 谢谢大家

回答

0

请尝试使用以下代码片段。

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(); 
+0

感谢您的关注。我修好了我的self.I创建了ImagesObject for循环 – BekaKK

相关问题