Volley-Anfrage Callback übergeben die falsche callback-Antwort

Habe ich einen Rückruf auf die volley-Anfrage und ich haben zwei Anfrage gestartet 2 unterschiedliche Aktivität. Wenn ich die erste Anfrage, dann die zweite Rückkehr auf die Reaktion der ersten..

Dies ist mein Wunsch und callback:

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);
}

- Und dies ist eine der beiden Start-Anfrage:

Global.RequestJsonToServer(getActivity(), jsonObject, new Global.VolleyCallback() {
        @Override
        public void onSuccess(JSONObject result) {
            Toast.makeText(getActivity(),result.toString(), Toast.LENGTH_LONG).show();
        }
    });

Ich hoffe mir kann jemand helfen

Dank

Edit:
Ich ändere es so

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);

Und die andere mit falsch.. Aber vielleicht ist der falsche Weg, es zu benutzen..ich würde gerne einen einzigen Rückruf und Wiederverwendung, nicht wechseln zwischen zwei Rückrufe

MEINE LÖSUNG

Ich gefunden habe, meine eigene Lösung, das problem war nicht in der callback-aber war in der Volleyball-Anfrage. Die Antwort für jede Anforderung zwischengespeichert wurde und ich weiß nicht, warum, es wird wieder die falschen, immer die falsche Antwort.

Habe ich nur Hinzugefügt, das vor dem hinzufügen der request-queue:

jsObjRequest.setShouldCache(false);
  • Schauen Sie sich bitte meine 2 Antworten, here und die here
  • Ok, ich sehe es, aber ist das gleiche, dass ich vor dem posten die genau richtig hier, ich habe immer das respinse der späteren ANFRAGE!
InformationsquelleAutor dvdciri | 2015-10-05
Schreibe einen Kommentar