android – 如何检查Volley Request Queue是空的?请求已完成?

android – 如何检查Volley Request Queue是空的?请求已完成?,第1张

概述如何检查Volley Request Queue是空的?请求已完成? 完成所有请求后,我试图加载ui但它在请求响应之前加载 for (i = 1; i < obj.length; i++) { String apiString = myGlobalClass.getApiUrl(); callRequest(apiString); 如何检查Volley Request Queue是空的?请求已完成?

完成所有请求后,我试图加载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是空的?请求已完成?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1125303.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存