我正在使用volley来获取JSon响应。在我正在做的代码中,我正在将人员数据读入Person类型的ArrayList中。一个人有一个名字和一个姓氏,可以使用setter设置。由于某种原因,数组列表会在代码中填充,但会在代码中的某个位置清除。
String MainURL = glob.getURL();
//string Bulder
URLBuild.append(MainURL).append("api/gt");
final ArrayList<Person> list = new ArrayList<Person>();
final String URL = URLBuild.toString();
JsonArrayRequest jsonRequest = new JsonArrayRequest(URL, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
try {
int length = response.length();
for (int i = 0; i < length; i++) {
Person p = new Person();
p.setName(jsonItems.getString("Name"));
p.setSName(jsonItems.getString("SName"));
list.add(p);
}
} catch (JSONException e) {
e.printStackTrace();
}
//after this point the array list is blank again
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.e(error);
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
//
return null;
}
};
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner ArrayToSpin = (Spinner) findViewById(R.id.spinner);
ArrayToSpin.setAdapter(spinnerArrayAdapter);
我使用toasts来查看列表中的内容是后者在应用程序中的内容,并且在代码中标记的点之后它是空白的。
我似乎无法找到数组列表清除或空白的位置和原因。