私はvolley
を使用してJSONObject
を自分のサーバーに送信し、応答を返します。コードを実行すると、デバッグモードでのJsonObjectRequest
が呼び出され、ライブラリがエラーをスローせずにネットワークレスポンスを正常に解析できることがわかります。しかし、deliverResponse()
以降、私のonResponse
リスナーは呼び出されていません。私はJsonObjectRequest
クラスを使用して投稿し、JsonObjects
を受け取ります。ここに私のコードの一部です:Volleyリスナーが呼び出されていない
主な用途:
JSONObject jso = new JSONObject();
jso.put("mac", "XX");
VolleyRequest.post("http://something", jso, applicationCntxt, new IResponseHandler() {
@Override
public void onResponse(JSONObject response) {
}
@Override
public void onError(VolleyError error) {
}
});
VolleyRequest.post方法:
public static void post(String url, JSONObject payload, Context context, final IResponseHandler rqHandler)
{
Response.Listener<JSONObject> listener = new Response.Listener<JSONObject>() {
public void onResponse(JSONObject response) {
//stuff
}
};
Response.ErrorListener errorListener = new Response.ErrorListener() {
public void onErrorResponse(VolleyError error) {
//stuff
}
};
JsonObjectRequest jsObjRequest = new JsonObjectRequest(Request.Method.POST, url, payload, listener, errorListener);
jsObjRequest.setRetryPolicy(new DefaultRetryPolicy(10000, 0, 1f));
VolleyRequestQueue.getInstance(context).addToRequestQueue(jsObjRequest);
}
誰もが呼び出されませに対する応答リスナーに引き起こしているか知っていますか?私はVolley
が私の投稿要求を送信し、応答を正しく解析していることを知っています。私はdebugger
からそれを見ることができ、私のサーバーは何のエラーも投げていません。ネットワークレスポンスを解析しただけで何もしません。
私は実際にそれを持っています。私は上記のc/pを忘れてしまった。しかし、いずれにしても、中にブレークポイントが設定されています。 public void onResponse(JSONObject response){ rqHandler.onResponse(response); // stuff } これは決してトリガーされないので、リスナーが呼び出されていないと思うようになります。 – KPERI