将数组值添加到ArrayList

时间:2015-03-06 14:30:58

标签: android arrays arraylist

我有一个arrayList,我想用一些值填充它。 问题是这个数组列表最后只得到数组的最后一个值。我做错了什么?

3 个答案:

答案 0 :(得分:0)

您没有添加到arraylist

更改

RESTEndpoints = new Gson().fromJson(sp.getString(entry.getKey(), "[]"), type); 

RESTEndpoints
.add(new Gson().fromJson(sp.getString(entry.getKey(), "[]"), type)); 

答案 1 :(得分:0)

问题是因为你在foreach和每次RESTEndpoints都收到一个新值时都这样做,所以在这种情况下,RESTEndpoints总是得到最后一个值。

您必须更改为以下代码:

for(Map.Entry<String,?> entry : keys.entrySet()){
        RESTEndpoints.addAll((ArrayList<RESTEndpoint>) new Gson().fromJson(sp.getString(entry.getKey(), "[]"), type));
}

答案 2 :(得分:0)

您没有在列表中添加数组值,请按以下说明更改代码:

for(Map.Entry<String,?> entry : keys.entrySet()){
    RESTEndpoints.addAll(new Gson().fromJson(sp.getString(entry.getKey(), "[]"), type));
    }