过去使用AsyncTask时,我们有两个方法doInBackground()来完成所有工作,onPostExecute()在所有数据完成后进行更改,所以我可以停止所有代码,直到正确的数据回来,然后做我需要的有了这些数据。
但是当我尝试移动到Volley库时,当调用请求时我只有onResponse()方法,但是有问题我需要做一些依赖于后台数据的代码但是没有办法在此处保存代码点。
那么有没有办法在响应完成之前保持Volley请求?
*我知道我们可以覆盖onResponse()来完成我们在完整数据返回时所需要的东西,但这很好地是很多嵌套编码和方法。
感谢所有可以提供帮助的人。
答案 0 :(得分:8)
如果您要同步执行请求,可以使用RequestFuture等待响应返回。这不应该在主线程上完成,因为它会导致UI锁定。
答案 1 :(得分:0)
将回调功能设置为已解答here
后,可以执行此操作