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

问题描述

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

解决方案

如何发起web请求,并返回请求的结果?

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

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

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

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

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

时间: 2024-10-02 09:09:52

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

Android之数据存储----使用LoaderManager异步加载数据库

一.各种概念: 1.Loaders: 适用于Android3.0以及更高的版本,它提供了一套在UI的主线程中异步加载数据的框架.使用Loaders可以非常简单的在Activity或者Fragment中异步加载数据,一般适用于大量的数据查询,或者需要经常修改并及时展示的数据显示到UI上,这样可以避免查询数据的时候,造成UI主线程的卡顿. 即使是查询SQLite数据库,用Loaders来操作会更加的简便. Loaders有以下特点: 可以适用于Activity和Fragment. 可以提供异步的方式

[Android 泥水匠] Android基础 之一:浅谈Android架构到HelloWorld案例的剖析

1.1前言   泥瓦匠又和大家见面了,在移动平台干过原生态开发,也干过hybrid应用.可以看看相关的文章 Android UI .所以多多少少在这块还是有点了解.现在很多高级语言可以开发app程序,包括Android,到我觉得目前Java语言开发Android程序还是很火,很重要的.自然,Java的底子不可少.可以看看泥瓦匠写的不少基础 Java Basic .   我们生活在一个通讯的时代,我经历过得2.5G时代,也就是GPRS等的时代,前面还有2G(GSM等).1G,后面则大家熟悉的3G

android studio android:text="@string/button_send"

问题描述 android studio android:text="@string/button_send" android studio新建button这句话不懂:android:text="@string/button_send" 请教个问题:android studio里面新建button里面有一句:android:text="@string/button_send".在string.xml里面有一句:Send 能不能这样理解:button

【Android】Android动态代理为SurfaceHolder添加Hook

本博客将会介绍动态代理在Android应用中的一种使用场景 代理模式 代理模式的作用是为其它对象提供一种代理以控制对这个对象的访问.比如用户调用了一个"吃饭"的方法,如果不依靠代理,用户可能自己拿碗饭吃就行,而如果通过代理的话,可能连碗都不需要用户自己拿,用户只需要张开嘴,代理来喂就行了,需要注意的是,这里代理除了负责拿碗和喂饭外还可以做其他的任何事情,比如说帮你把饭吹凉一些,或者担心你的体重而偷偷帮你倒掉了一半的饭,又或者是往饭里加点什么奇奇怪怪的东西,谁知道呢,这就是代理干的活.实

【Android】Android自定义带board的圆角控件

介绍 圆角控件常用于头像,按钮,图标等,用途十分广泛,而且常常配合board使用. 在IOS中,UIVIew的CALayer层已经提供了圆角和board的方法,所以圆角控件的制作非常简单,只需要类似以下简单代码即可实现: view.layer.cornerRadius = 20; view.layer.borderColor = [UIColor yellowColor].CGColor; view.layer.borderWidth = 10; view.clipsToBounds = YES

Android异常处理Android异常处理

问题描述 Android异常处理Android异常处理 比如说出现空指针 我不弹框 直接结束掉出错的actvity 解决方案 而Java提供了一套比较优秀的异常处理机制:?? ? 1.使开发人员不必编写特殊代码来测试返回值就能发现问题,?? ? 2.在语法结构就把正常的代码和异常处理的代码清晰的分开来,?? ? 3.允许我们使用相同的异常处理代码来处理一定范围内的所有异常.?以期产生一......答案就在这里:android异常处理 解决方案二: 加入你不拦截的话,空指针错误直接崩溃,哪有弹框

nfc技术-Android开发NFC功能时遇到的问题Ndef.get(tag)返回null

问题描述 Android开发NFC功能时遇到的问题Ndef.get(tag)返回null 照着网上资料写的,但就是不成功,经过多次调试最终发现问题位置: Ndef ndef = Ndef.get(tag); 这句返回的总是null,但是tag是有值的,TAG: Tech [android.nfc.tech.MifareClassic, android.nfc.tech.NfcA, android.nfc.tech.NdefFormatable] 同样的,NdefFormatable format

time tick-关于android的android.intent.action.TIME_TICK

问题描述 关于android的android.intent.action.TIME_TICK 我想问一下android中android.intent.action.TIME_TICK的action是干什么的? 解决方案 这里可以理解为action是一堆动作的集合,这些动作触发时会发送广播,action.后加不同的内容对应不同的广播.每次广播被调用,手机及手机上的其他应用会有相应的action接收广播进行相响应.本人刚入行不久,欢迎其他大牛指正批评.

【Android】 Android 事件处理

Android 事件处理 --学习笔记2 目的:通过全面的分析Android的鼠标和键盘事件.了解Android中如何接收和处理键盘和鼠标事件,以及如何用代码来产生事件. 主要学习内容: 1. 接收并处理鼠标事件:按下.弹起.移动.双击.长按.滑动.滚动 2. 接收并处理按键事件:按下.弹起 3. 模拟鼠标/按键事件 1. Android事件 现代的用户界面,都是以事件来驱动的来实现人机交换的,而Android上的一套UI控件,无非就是派发鼠标和键盘事件,然后每个控件收到相应的事件之后,做相应的