Volley是否有任何回电知道网络通话何时完成并成功完成?
谢谢
编辑:对不起,我完全忘了一条至关重要的信息!这是针对ImageLoader而不是标准Request?答案 0 :(得分:1)
是的,当您添加要发送的请求时,您可以为其设置回调,并在请求完成或失败时调用它,如下所示:
StringRequest stringRequest = new StringRequest("http://www.baidu.com",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("TAG", response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("TAG", error.getMessage(), error);
}
});
onResponse
用于告诉您请求已完成,onErrorResponse
用于告诉您请求失败,因为网络等某些原因无法访问。
答案 1 :(得分:0)
是的当然。有两个回调。一个用于成功响应,另一个用于失败。
这是Volley回调的一个很好的例子:
ImageLoader imageLoader = AppController.getInstance().getImageLoader();
imageLoader.get(Const.URL_IMAGE, new ImageListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("TAG", "Image Load Error: " + error.getMessage());
}
@Override
public void onResponse(ImageContainer response, boolean arg1) {
Log.i("TAG", "onResponse");
if (response.getBitmap() != null) {
// load image into imageView
imageView.setImageBitmap(response.getBitmap());
}
}
});