问题描述
- 关于Android在一次异步Http请求结果未返回,第二次又发起请求的问题
- 在一个项目的ListView中,有个查询条件的切换(比如按男女性别条件查出来职工的List)。我遇到的情况是在下拉框选择男性查数据,但数据还未返回,我这时切换了下拉框的条件改为女性。但是返回的数据有时候会是男性职工的数据。我用的是http异步请求(xUtils的HttpUtils)。不知道这么解决这个问题
解决方案
解决方案二:
可以自定义一个类继续RequestCallBack,然后在新的类里面定义一个字符串存放UUID,LivtView也存放一个UUID。
每次调用请求时改变UUID,并将对应的UUID赋值给自定义的类。
在callback的方法里callback里的UUID跟ListView当前的UUID一不一样,不一样就return。
解决方案三:
首先这种情况,你可以在你的客户端增加个标识符,表明现在下拉显示是男性还是女性,然后在服务器端也增加个标识符,表明是男性的数据还是女性的数据。
如果返回是男性的,此时用户已选择女性,那就舍弃这些数据。这是下策。
上策是,在用户从男性改为女性时,要取消异步请求任务,然后再创建一个新的。并且在数据返回,也要做下判断,是否和下拉的请求一至。
解决方案四:
第一次加载肯定是全部,你选择男女分类时没有必要在从网络上取数据,这样费时,体验差,可以更具男女分类来区分显示
时间: 2024-10-02 09:09:52