关于Android在一次异步Http请求结果未返回,第二次又发起请求的问题

在一个项目的ListView中,有个查询条件的切换(比如按男女性别条件查出来职工的List)。我遇到的情况是在下拉框选择男性查数据,但数据还未返回,我这时切换了下拉框的条件改为女性。但是返回的数据有时候会是男性职工的数据。我用的是http异步请求(xUtils的HttpUtils)。不知道这么解决这个问题

3个回答

可以自定义一个类继续RequestCallBack,然后在新的类里面定义一个字符串存放UUID,LivtView也存放一个UUID。

每次调用请求时改变UUID,并将对应的UUID赋值给自定义的类。

在callback的方法里callback里的UUID跟ListView当前的UUID一不一样,不一样就return。

首先这种情况,你可以在你的客户端增加个标识符,表明现在下拉显示是男性还是女性,然后在服务器端也增加个标识符,表明是男性的数据还是女性的数据。
如果返回是男性的,此时用户已选择女性,那就舍弃这些数据。这是下策。
上策是,在用户从男性改为女性时,要取消异步请求任务,然后再创建一个新的。并且在数据返回,也要做下判断,是否和下拉的请求一至。

第一次加载肯定是全部,你选择男女分类时没有必要在从网络上取数据,这样费时,体验差,可以更具男女分类来区分显示

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问