我想发送两个不同的请求,并使用Volley库在一个Activity中处理两个不同的响应。 我的活动实现onResponseListener,所以我只有一个onResponse方法,这两个响应都在这里处理。由于它们的结构完全相同,我不知道哪个是哪个。
我如何知道我收到了哪个请求回复,以便我能以不同的方式处理它们?有没有办法“标记”一个请求或类似的东西?
我可以设置某种检查变量,例如boolean firstRequestIsSent当我发送请求,然后在onResponse方法中检查它,但它是一个非常丑陋的解决方案。
非常感谢
答案 0 :(得分:3)
您可以使用请求实例化一个新的Response.Listener,而不是将onResponse作为类的一部分实现。这样,每个请求都会有一个单独的侦听器。
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener() {
@Override
public void onResponse(String response) {
// individual response here
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// error here
}
});