我必须向 Android 应用程序的 API 发出多个请求,但遇到以下问题:我有一个项目列表,我必须为每个项目发出请求,以便获取一些数据并将其显示在应用程序中。当我的列表大小为 1 时(如果我只有一项),该应用程序运行良好,但如果我有更多数据,我会将数据混合在一起,并且一项具有其他类似的价值。
我正在使用 JsonObjectRequest 和 Volley。我使用回调接口将请求数据发送回活动。我认为这可能是一个同步问题,但我不确定,我有点沮丧。我什么都试过了!
请求代码:
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, urlMarket, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { try { JSONObject singleResult; singleResult = response.getJSONArray("result").getJSONObject(0); coin.setHigh(singleResult.getDouble("High")); coin.setLow(singleResult.getDouble("Low")); coin.setLast(singleResult.getDouble("Last")); coin.setVolInBtc(singleResult.getDouble("BaseVolume")); coin.setBid(singleResult.getDouble("Bid")); coin.setAsk(singleResult.getDouble("Ask")); coin.setPrevDay(singleResult.getString("PrevDay")); callback.onSuccess(coin); } catch (Exception e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { error.printStackTrace(); } }); requestQueue.add(request);
任何形式的帮助将不胜感激!
PD.:如果有更好的方法来代替 JsonObjectRequest,请告诉我!