2
這裏是我的情況GSON如何動態地設置序列化的名字
// a base class
public abstract class PageResult<T> {
@SerializedName("success")
public boolean success = false;
@SerializedName("next_page")
public int nextPage = -1;
public ArrayList<T> dataList;
}
在dataList
SerializedName
需要是動態的,即
public class StringPageResult extends PageResult<String>{
//for this case
@SerializedName("StringResult")
public ArrayList<String> dataList
}
public class IntegerPageResult extends PageResult<Integer>{
//for this case
@SerializedName("IntegerResult")
public ArrayList<Integer> dataList
}
而延伸的PageResult類,SerializedName
需要是不同的,所有必須的使用dataList。含義我需要使用PageResult dataList
進行各種處理而不是子類dataList
。是否有可能? 我做它在以下方式
public abstract class PageResult<T> {
public abstract ArrayList<T> getDataList();
@SerializedName("success")
public boolean success = false;
@SerializedName("next_page")
public int nextPage = -1;
}
public class StringPageResult extends PageResult<String>{
@SerializedName("StringResult")
public ArrayList<String> dataList;
public abstract ArrayList<String> getDataList(){
return dataList;
}
}
我想'IntegerPageResult'的'dataList'應該是類型ArrayList的''的?除此之外,什麼不起作用? –
@ david.mihola:當我在所有子類上使用單個'dataList'時,當我訪問'PageResult.dataList'時它將變空。 – laaptu