使用Volley

时间:2015-05-14 09:15:45

标签: java android json android-volley

我试图使用Volley发出JSON请求,我能够使用StringRequest成功发出请求,但现在尝试执行JSONRequest时出错。

private void postData(final String param, final TextView tv) {
    RequestQueue request = Volley.newRequestQueue(this);

    JsonObjectRequest postReq = new JsonObjectRequest(Request.Method.GET, url_login, new Response.Listener<JsonReader>() {
        @Override
        public void onResponse(JsonReader response) {
            tv.setText(response); // We set the response data in the TextView
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            System.out.println("Error [" + error + "]");
        }
    }) {
        /**
         * Add the headers to the request
         * @return headers
         * @throws AuthFailureError
         */
        @Override
        public Map getHeaders() throws AuthFailureError {
            Map headers = new HashMap();
            headers.put("customHeader", "someCrap");
            System.out.println(headers); //testing output of headers
            return headers;
        }
    };
    request.add(postReq);
}

我在tv.setText(响应)下得到错误;

  

无法解析方法'setText(android.util.JsonReader)'

我想将Json请求作为测试输出到TextView中标记为“tv”的文本

谢谢

1 个答案:

答案 0 :(得分:2)

TextView不接受JsonReader。你需要CharSequence或String。