volley3 网络请求的取消(http://blog.csdn.net/zrjliming/article/details/52325152)

来源:互联网 发布:淘宝等级权限 编辑:程序博客网 时间:2024/05/20 20:05

取消请求

Volley提供了强大的API取消未处理或正在处理的请求。取消请求最简单的方法是调用请求队列cancelAll(tag)的方法,前提是你在添加请求时设置了标记。这样就能使标签标记的请求挂起。

给请求设置标签:

  request.setTag("My Tag");

使用ApplicationController添加使用了标签的请求到队列中:

   ApplicationController.getInstance().addToRequestQueue(request, "My Tag");

取消所有指定标记的请求:

   mRequestQueue.cancelAll("My Tag");

//2. 创建RequestQueueRequestQueue queue = Volley.newRequestQueue(MainActivity.this);//3. 发起请求queue.add(stringRequest);//取消单个请求stringRequest.cancel();//取消一个请求//取消所有请求queue.cancelAll(null);//取消请求队列里面所有的方法//取消置顶tag的请求queue.cancelAll("tag1");//取消tag为tag1的一个请求//请求添加tag-->tag的目的就是为了反查stringRequest.setTag("tag1");//两个不同的请求可以设置同一个tagstringRequest.setTag("tag1");//  stringRequest1.setTag("tag1");
生命周期的联动 通过一个 activity就设置同一个tag
StringRequest req1 = null;StringRequest req2 = null;StringRequest req3 = null;StringRequest req4 = null;StringRequest req5 = null;req1.setTag(this.getClass().getSimpleName());req2.setTag(this.getClass().getSimpleName());req3.setTag(this.getClass().getSimpleName());req4.setTag(this.getClass().getSimpleName());req5.setTag(this.getClass().getSimpleName());// 取消对应activity里面所有的请求RequestQueue queue = VolleyTools.getInstance(MainActivity.this).getQueue();queue.cancelAll(this.getClass().getSimpleName());// MainActivity
转载自http://blog.csdn.net/zrjliming/article/details/52325152,http://blog.sina.com.cn/s/blog_5033827f0102uy0w.html
0 0