arraylist的Android值超出了方法
我使用Volley和JSON创建了以下代码:arraylist的Android值超出了方法,android,Android,我使用Volley和JSON创建了以下代码: public List<String> result = new ArrayList<String>(); public List<String> mostraDati(){ JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, DatiNet.MostraDati, new Response.L
public List<String> result = new ArrayList<String>();
public List<String> mostraDati(){
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, DatiNet.MostraDati, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
System.out.println(response.toString());
try {
System.out.println("fin qui ci siamo");
JSONArray utenti = response.getJSONArray("utenti");
List<String> resTemp = new ArrayList<String>();
for (int i = 0; i < utenti.length(); i++) {
JSONObject student = utenti.getJSONObject(i);
String nome = student.getString("nome");
String cognome = student.getString("cognome");
String numero = student.getString("numero");
String email = student.getString("email");
resTemp.add(nome + " " + cognome + " " + email);
}
result = resTemp;
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.append(error.getMessage());
}
});
requestQueue.add(jsonObjectRequest);
System.out.println(result.toString());
return result;
}
public List result=new ArrayList();
公共列表mostraDati(){
JsonObjectRequest JsonObjectRequest=新的JsonObjectRequest(Request.Method.POST,DatiNet.MostraDati,new Response.Listener()){
@凌驾
公共void onResponse(JSONObject响应){
System.out.println(response.toString());
试一试{
System.out.println(“fin qui ci siamo”);
JSONArray-uti=response.getJSONArray(“uti”);
List resTemp=new ArrayList();
对于(int i=0;i
它工作正常,但返回值总是空的“[]”。如何解决这个问题?
我认为问题在于将值从jsonObjectRequest方法中移植出来
您必须更改代码才能将一个
arrayList
值添加到另一个arrayList
改变
result = resTemp;
到
您收到响应了吗?是的,该方法有效,但我无法返回可能的副本。您是否将arrayList直接设置为TextView?你能展示你的全部代码吗?
result.addAll(resTemp);