
完成所有请求后,我试图加载ui但它在请求响应之前加载
for (i = 1; i < obj.length; i++) { String APIString = myGlobalClass.getAPIUrl(); callrequest(APIString); }private callrequest(String APIString) { // Todo auto-generated method stub request = new StringRequest(Request.Method.GET,APIString,new Response.Listener<String>() { @OverrIDe public voID onResponse(String response) { // Todo auto-generated method stub } },new Response.ErrorListener() { @OverrIDe public voID onErrorResponse(VolleyError error) { // Todo auto-generated method stub } }); queue.add(request); }解决方法 Volley lib不提供本机方法来检查请求是否已经完成,此信息由lib的内部类中的私有属性保存. 您可以为此创建自己的控件.
当我需要这个功能时,我实现了以下方法来通过反射访问CurrentRequests集.
我使用lib来促进这项任务. Mirror
public boolean isPendingToRequest( final Object tag ) { final Object mObject = new Mirror().on( this.requestQueue ).get().fIEld( "mCurrentRequests" ); final Set<Request<?>> mCurrentRequests = ( Set<Request<?>> ) mObject; for ( final Request<?> request : mCurrentRequests ) { Log.d( "tagIsPendingToRequest ","tag: " + request.getTag() ); if ( request.getTag().equals( tag ) ) { Log.d( "tagIsPendingToRequest ","Pendingtag: " + request.getTag() + " mytag:" + tag ); return true; } } return false;} 但它对我没有效率,所以我决定用一个标志保留一个HashMap引用我的所有请求.
总结以上是内存溢出为你收集整理的android – 如何检查Volley Request Queue是空的?请求已完成?全部内容,希望文章能够帮你解决android – 如何检查Volley Request Queue是空的?请求已完成?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)