未调用volley代码onResponse()和onErrorResponse()

时间:2017-12-17 13:29:02

标签: android android-volley

这是我的排球代码,但是没有调用onResponse()以及onErrorResponse()。从不打印日志行,因为跳过了这些元节点。但最后一个日志行出现在logcat中,而jsObjRequest始终为null。

String url = "A valid url";
JsonObjectRequest jsObjRequest = new JsonObjectRequest(Request.Method.GET, 
    url, null, new Response.Listener<JSONObject>() {
     @Override
     public void onResponse(JSONObject response) {
        Log.e("onResponse",""+response);
    }
    }, new Response.ErrorListener() {
     @Override
     public void onErrorResponse(VolleyError error) {
        Log.e("onErrorResponse", "" + error);
    }
    });
   Log.e("jsObjRequest",  "" + jsObjRequest);

3 个答案:

答案 0 :(得分:0)

您需要将您的请求排入队列:

RequestQueue queue = Volley.newRequestQueue(this);

String url = "A valid url";
JsonObjectRequest jsObjRequest = new JsonObjectRequest(Request.Method.GET, 
url, null, new Response.Listener<JSONObject>() {
    @Override
    public void onResponse(JSONObject response) {
        Log.e("onResponse",""+response);
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
       Log.e("onErrorResponse", "" + error);
    }
});
Log.e("jsObjRequest",  "" + jsObjRequest);

queue.add(jsObjRequest);

请参阅:https://developer.android.com/training/volley/simple.html

答案 1 :(得分:0)

您应该将您的请求添加到RequestQueue。在你的情况下,只需在你的下面添加这两行代码,它就可以了。

RequestQueue rQueue = Volley.newRequestQueue(this);
rQueue.add(jsObjRequest);

答案 2 :(得分:0)

对于这个问题,我使用HTTPS,并且现在可以正常使用