【问题标题】:manually retry Volley request on android在android上手动重试Volley请求
【发布时间】:2015-12-21 19:45:00
【问题描述】:
我知道有一个 RetryPolicy 可以使用,但看起来它会自动执行重试。
我想要的是在用户单击重试按钮时触发重试。我尝试存储请求并重用它,但发现 Volley 实际上在请求完成后销毁了侦听器。
这让我在重试后无法进行任何用户交互。但是,我可以再次重建相同的请求,但它看起来不正确并且使事情变得更加复杂。
有没有办法手动执行重试?还是留住听众?谢谢!
【问题讨论】:
标签:
android
android-volley
【解决方案1】:
你所经历的和你得出的结论和它是一样的。
恕我直言,它背后的逻辑也很好。 Request 是一个有状态的生物,它活着,它死去。你扔进海里的球。球飞溅然后下沉。你不能真正把球拿回来,而是你得到另一个完全相同的球,然后再扔一次。
请求中包含的数据很重要,可以重复使用。您可以使用此数据、http 方法和 uri 克隆/重新创建请求。当然,描述行为的其他参数,但应该以更通用的方式获得。以类似的方式,我在jus 中使请求可克隆,这是一个基于 volley 的库,但更加进化。