【技术实现步骤摘要】
一种ListView异步加载图片的方法及装置
本专利技术涉及安卓
,尤其涉及一种ListView异步加载图片的方法及装置。
技术介绍
在Android开发的过程中,ListView是经常使用的控件,以列表的形式展示具体的内容,包括图片、文字、数据等多种不同类型的内容,并且可以根据数据的长度自适应显示。在ListView使用异步方式加载图片,每当有新的元素进入界面时就会回调getView()方法,而在getView()方法中会开启异步请求从网络上获取图片,网络操作都是比较耗时的,也就是说当我们快速滑动ListView的时候就很有可能出现这样一种情况,某一个位置上的元素进入屏幕后开始从网络上请求图片,但是还没等图片下载完成,它就又被移出了屏幕。根据ListView的工作原理,被移出屏幕的控件将会很快被新进入屏幕的元素重新利用起来,而如果在这个时候刚好前面发起的图片请求有了响应,就会将刚才位置上的图片显示到当前位置上,因为虽然它们位置不同,但都是共用的同一个ImageView实例,导致出现了图片乱序的情况。
技术实现思路
有鉴于此,本专利技术提供了一种ListView ...
【技术保护点】
1.一种ListView异步加载图片的方法,其特征在于,包括:当检测到目标图片显示在当前屏幕的目标ImageView控件中时,获取所述目标ImageView控件的第一ListViewTask;当检测到所述目标图片被移出所述当前屏幕时,获取所述目标ImageView控件的第二ListViewTask;判断所述第一ListViewTask与所述第二ListViewTask是否相同;若否,将与所述第二ListViewTask对应的待加载图片加载至所述当前屏幕中所述目标ImageView控件所在位置。
【技术特征摘要】
1.一种ListView异步加载图片的方法,其特征在于,包括:当检测到目标图片显示在当前屏幕的目标ImageView控件中时,获取所述目标ImageView控件的第一ListViewTask;当检测到所述目标图片被移出所述当前屏幕时,获取所述目标ImageView控件的第二ListViewTask;判断所述第一ListViewTask与所述第二ListViewTask是否相同;若否,将与所述第二ListViewTask对应的待加载图片加载至所述当前屏幕中所述目标ImageView控件所在位置。2.根据权利要求1所述的方法,其特征在于,还包括:若是,在所述目标ImageView控件继续显示所述目标图片。3.根据权利要求1所述的方法,其特征在于,当检测到目标图片显示在当前屏幕的目标ImageView控件中时,获取所述目标ImageView控件的第一ListViewTask,包括:当检测到目标图片显示在当前屏幕的目标ImageView控件中时,获取与所述目标ImageView控件对应的预设的弱引用关联;依据所述预设的弱引用关联,获取所述目标ImageView控件的第一ListViewTask。4.根据权利要求1所述的方法,其特征在于,判断所述第一ListViewTask与所述第二ListViewTask是否相同,包括:获取所述第一ListViewTask的第一标识;获取所述第二ListViewTask的第二标识;将所述第一标识与所述第二标识进行比较。5.根据权利要求3所述的方法,其特征在于,将与所述第二ListViewTask对应的待加载图片加载至所述当前屏幕中所述目标ImageView控件所在位置,包括:在所述第二ListViewTask中获取所述待加载图片的URL;依据所述URL,在预设的图片数据源中查找与所述URL匹配的所述待加载图片;依据所述预设的弱引用关联,确定与所述第二ListViewTask对应的目标ImageView控件;将所述待加载图片加载至所述当前屏幕中所述目标Image...
【专利技术属性】
技术研发人员:陈雪平,严彪,秦旭果,焦伟哲,
申请(专利权)人:吉林亿联银行股份有限公司,
类型:发明
国别省市:吉林,22
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。