我在我的應用程序中使用了Retrofit和ActiveAndroid ORM。我有以下Model類:使用ActiveAndroid ORM保存並檢索Arraylists並對其進行修改
@Table(name = "formresource")
public class FormResource extends Model implements Serializable{
@Column(name="name")
@SerializedName("name")
@Expose
private String name;
@Column
@SerializedName("resources")
@Expose
private List<FormResource> resources = new ArrayList<FormResource>();
@Column(name = "valueReference")
@SerializedName("valueReference")
@Expose
private String valueReference;
@Column(name = "uuid")
@SerializedName("uuid")
@Expose
private String uuid;
@Column(name = "display")
@SerializedName("display")
@Expose
private String display;
@Column(name = "links")
@SerializedName("links")
@Expose
private List<Link> links = new ArrayList<Link>();
public FormResource()
{
super();
}
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public String getDisplay() {
return display;
}
public void setDisplay(String display) {
this.display = display;
}
public List<Link> getLinks() {
return links;
}
public void setLinks(List<Link> links) {
this.links = links;
}
public String getValueReference() {
return valueReference;
}
public void setValueReference(String valueReference) {
this.valueReference = valueReference;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<FormResource> getResources() {
return resources;
}
public void setResources(List<FormResource> resources) {
this.resources = resources;
}
}
現在我在啓動應用程序時獲取Formresources並保存它。然後在另一個活動中,我使用保存的formresources填充listview。這工作得很好。現在,我想訪問嵌套formresources這樣的:
formresourcelist.get(position).getResources();
這總是返回List<FormResource>
一個空白列表。我應該如何正確保存和檢索這個列表?我需要同時保持與Retrofit的兼容性。
在添加ActiveAndroid ORM支持之前,數據正在填充。將其從Pojo更改爲Model類時可能發生了什麼變化? – Avijit
注意:其他領域得到保存罰款......這只是在調用save()時沒有被序列化和保存正確的Arraylists。 – Avijit
您是否嘗試刪除'= new ArrayList();'初始化?其他領域沒有初始化器,所以它可能與此有關。 –
reidzeibel