我在排球請求上添加了一個回調,並且我有兩個請求從兩個不同的活動開始。當我執行的第一個請求,然後第二個返回第一個響應..排球請求回調傳遞錯誤的回調響應
這是我的要求和回調:
public static void RequestJsonToServer(Context ctx, final JSONObject params, final VolleyCallback callback){
MySingleVolley.getInstance(ctx).
getRequestQueue();
JsonObjectRequest jsObjRequest = new JsonObjectRequest(Request.Method.POST,ctx.getString(R.string.defaultServerRequestUrl),params,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
callback.onSuccess(response);
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("REQUEST_JSON_TO_SERVER", "Error: " + error);
}
}){
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<>();
headers.put("Content-Type", "application/json");
return headers;
}
};
MySingleVolley.getInstance(ctx).addToRequestQueue(jsObjRequest);
}
public interface VolleyCallback{
void onSuccess(JSONObject string);
}
而且這是兩個起動請求之一:
Global.RequestJsonToServer(getActivity(), jsonObject, new Global.VolleyCallback() {
@Override
public void onSuccess(JSONObject result) {
Toast.makeText(getActivity(),result.toString(), Toast.LENGTH_LONG).show();
}
});
我希望有人能幫助我
感謝
編輯: 我改變它像這樣
Global.RequestJsonToServer(getApplicationContext(), jsonObject, new Global.VolleyCallback() {
@Override
public void onSuccess(JSONObject result) {
Toast.makeText(getApplicationContext(), result.toString(), Toast.LENGTH_LONG).show();
}
@Override
public void onSuccessCustom(JSONObject string) {
}
}, true);
而另外一個假。但也許是錯誤的方式來使用it..I希望有一個單一的回調並重新使用它,而不是開關兩個回調
之間
我的解決方案
我發現我自己的解決方案,這個問題是不是在回調,但在凌空請求。每個請求的響應都被緩存了,我不知道爲什麼,它總是會返回錯誤的錯誤響應。我剛加入這個加入請求之前排隊:
jsObjRequest.setShouldCache(false);
請看看我的2個答案[這裏](http://stackoverflow.com/questions/32375295/android-how-to-return-async-jsonobject-from-method-using-volley/32379539#32379539 )和[這裏](http://stackoverflow.com/questions/32627089/post-request-json-file-passing-string-and-wait-for-the-response-volley/32627293#32627293) – BNK
好吧,我看到它,但是和我在發佈答案之前一樣,我一直都是後來REQUEST的結局! – dvdciri