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

取消请求

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

给请求设置标签:

  request.setTag("My Tag");

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

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

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

   mRequestQueue.cancelAll("My Tag");

//2. 创建RequestQueue
RequestQueue 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");
//两个不同的请求可以设置同一个tag
stringRequest.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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值