私のサーバからvolleyを使用して緯度と経度のリストを取得しています。ここに関数があります。LatLng ArraylistがonReponse()で復帰しないVolley
private List<LatLng> getLocations() {
final List<LatLng> pos = new ArrayList<>();
StringRequest rqst = new StringRequest(Request.Method.POST, "http://www.findandgo.in/server/getAllUsersLocation.php",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONArray array = new JSONArray(response);
for (int i=0; i<array.length(); i++) {
JSONObject object = array.getJSONObject(i);
Double lat = Double.parseDouble(object.getString("user_latitude"));
Double longi = Double.parseDouble(object.getString("user_longitude"));
LatLng latLng = new LatLng(lat,longi);
pos.add(latLng);
//here the list is returning size
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
Toast.makeText(HomeActivity.this,error.toString(),Toast.LENGTH_SHORT).show();
}
});
RequestQueue rq = Volley.newRequestQueue(getApplicationContext());
rq.add(rqst);
//here the list is showing size 0
return pos;
}
上記の関数は空リストを返しているが、私は値が存在するかどうかを確認するためにonResponseにログ値を使用する場合、それが表示されます。
しかし、それは見てください がvoid結果型 –
とメソッドから値を返すことができません示してい私の編集。ありがとう。 –
ありがとう、兄。あなたは私の一日を救った。 –