使用JsonObjectRequest时的Compililation错误

时间:2015-03-17 17:00:01

标签: android android-volley

我正在使用mcxiaoke / android-volley库。我的编译错误为

Error:(77, 37) error: reference to JsonObjectRequest is ambiguous, both constructor 
JsonObjectRequest(int,String,String,Listener<JSONObject>,ErrorListener) in JsonObjectRequest and constructor 
JsonObjectRequest(int,String,JSONObject,Listener<JSONObject>,ErrorListener) in JsonObjectRequest match
这是我的代码。我不知道出了什么问题。任何帮助表示赞赏

JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET,
            getRequestUrl(10),
            null,
            new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {


        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

        }
    });

3 个答案:

答案 0 :(得分:28)

将null转换为字符串或JSONObject,我认为它应该可以正常工作。

new JsonObjectRequest(Request.Method.GET,
            getRequestUrl(10),
            (String)null,
            new Response.Listener<JSONObject>()

答案 1 :(得分:2)

Bill Gates是对的,如果你传入的是null而不是类型为String或者JSONObject类型的Object,那么该类无法知道要使用哪个构造函数,否则它会在其中一个构造函数中出现,否则会出现这种模糊错误,说构造函数有2个匹配。

尝试:

 JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET,
        getRequestUrl(10),
        "",
        new Response.Listener<JSONObject>() {
    @Override
    public void onResponse(JSONObject response) {


    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {

    }
});

答案 2 :(得分:0)

您刚刚使用了空引用。

new JsonObjectRequest(Request.Method.GET,
        getRequestUrl(10),
        (String)null,
        new Response.Listener<JSONObject>()

它为我工作