是这样的,我先新建了一个数组存放json数据解析出来的url地址,然后在解析的方法里面给
这个数组赋值,结果最后调用这个数组的时候显示数组为空,不清楚为什么,求人看一下:
private List<String> netImages=new ArrayList<>;
.......
......
//在这个方法里面给List赋值了
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(API.BANNER, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
JsonArray array = HttpUtils.getResposeJsonObject(response).get("data").getAsJsonArray();
PicUrlInfo info = NetEasyApplication.gsonInstance().fromJson(array.get(0), PicUrlInfo.class);
List<PicUrlInfo.DataBean> data = info.getData();
for (int i = 0; i < data.size(); i++) {
//获取所有图片
PicUrlInfo.DataBean bean = data.get(i);
这里打Log输出都有值,而且Debug显示循环结束这个List的size是5
netImages.add(bean.getPicUrl());
}
SPStrListUtils.putStrListValue(getContext(), "PIC_URL", netImages);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
mQueue.add(jsonObjectRequest);
.......
......
//最后调用
mBanner.setImages(netImages)
mBanner是第三方控件,setImages里面也是传入List<>参数,但是Debug显示netImages size为0,这个问题一直想不通,Debug出来也是为0,但是在循环体内一直都有偶据啊,我想知道这是为什么?
补充Debug输出信息
你看下那个bean.getPicUri 有没值
你需要打个断点,先看看前面的数据是否完整。