这是我从API服务获取数据的代码。但是,当我从服务器更新数据时,应用程序中的数据没有更新。但是如果我去设置应用程序,然后进行清除缓存并打开我的应用程序,则数据将更新。我该怎么办?
private void callDataPekerjaan() {
listPekerjaan.clear();
JsonArrayRequest jArr = new JsonArrayRequest(url1,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.e(TAG, response.toString());
for (int i = 0; i < response.length(); i++) {
try {
JSONObject obj = response.getJSONObject(i);
DataPekerjaan item = new DataPekerjaan();
item.setId(obj.getString(TAG_ID_PEKERJAAN));
item.setNama(obj.getString(TAG_PEKERJAAN));
listPekerjaan.add(item);
} catch (JSONException e) {
e.printStackTrace();
}
}
adapterpekerjaan.notifyDataSetChanged();
hideDialog();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.e(TAG, "Error: " + error.getMessage());
Toast.makeText(DataMasyarakat1Activity.this, error.getMessage(), Toast.LENGTH_LONG).show();
hideDialog();
}
});
AppController.getInstance().addToRequestQueue(jArr);
}
可能与Volley缓存有关,请尝试将这段代码置于volley中
@Override
public void onRequestFinished(Request<Object> request) {
requestQueue.getCache().clear();
}