我正在使用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) {
}
});
答案 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>()
它为我工作