2 u010880786 u010880786 于 2016.04.25 22:29 提问

ListView下载进度条显示错乱

ListView中的item点击了下载后,下载进度开始更新,然后往下滑动后没有点下载的item的进度条开始和它一样了,请问要怎样解决ListView这种滑动错乱的问题呢?
我使用的是Xutils,要在listview中的onitemclick里面设置下载按钮的onclick来下载,我想知道这样怎么才能够获取到在listview里面绑定了的progressbar呢?

其中关键代码如下(我已经将绑定的progressbar传出去了还是不行)

getview中:

 holder.button.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    Toast.makeText(getActivity(), position+"", 0).show();
                    final String name = downloadlist.get(position).getName() + ".mp4";
                    final String url = Content.DownLoadBaseUrl
                            + URLEncoder.encode(name);
                    downloadFile(holder.bar,url, Target+name);
                }

downloadFile函数:

 private void downloadFile(final ProgressBar bar,String url, final String Target) {
        HttpUtils httpUtils = new HttpUtils();
        httpUtils.download(url, Target, new RequestCallBack<File>() {
            @Override
            public void onSuccess(ResponseInfo<File> arg0) {
                            };
            @Override
            public void onFailure(HttpException arg0, String arg1) {            
            }
            @Override
            public void onLoading(long total, long current, boolean isUploading) {
                bar.setMax((int) total);
                bar.setProgress((int) current);
            }
        });

求告知,拜托了我太笨了想好久

5个回答

baidu_23086307
baidu_23086307   2016.04.25 22:32

自定义listview,不用系统原来的

q610098308
q610098308   2016.04.25 22:38

getViw 中每次都new 不复用;

u010880786
u010880786 回复恋恋西风: 太麻烦了我就想绑定它然后获取它T_T
大约 2 年之前 回复
q610098308
q610098308 回复香辣鸡丁煲: 判断一下状态,如果没有下载的,进度条清空,在getview 中。
大约 2 年之前 回复
u010880786
u010880786 这样子不行啊,一是内存太大了,二是你一滑动超过原来那一页前面进度条的进度会给你清空的啊(因为你又新建了一个)
大约 2 年之前 回复
CSDNXIAOD
CSDNXIAOD   2016.04.25 22:42

[进度条]文件下载
C# Winform下载文件并显示进度条
C# Winform下载文件并显示进度条
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

qq_15002323
qq_15002323   2016.04.26 12:55

给每一个item绑定一个唯一的tag,

u010880786
u010880786 你是说使用viewholder然后在getview里面settag吗?可是这样我在ListView的button中点击监听里怎么才能够得到它呢?绑定了滑动还是错乱啊
大约 2 年之前 回复
qq_23374445
qq_23374445   2016.10.08 10:54

求问楼主解决了吗 我也是这个问题 只有下载不断更新进度条的时候会被复用到下边 。 点击暂停后就不会复用了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
android 模拟listview多线程下载进度条显示不干扰
闲来没事写了个模拟下载进度条显示的demo,点击开始下载,然后进度逐渐增加。代码如下: TestActivity.java如下 package test.demo.com; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.ListV
Android ListView 中更新 ProgressBar 进度完整demo
public class ProgressActivity extends Activity { private List mTasks = new ArrayList<>(); private ListView mListView; @Override protected void onCreate(@Nullable Bundle savedInstance
android中关于listView复用时出现错乱问题
我在ListView中子Item中有点击事件,当我选中之后会出现多个已经被选中的控件。出现这种问题的原因就是您的ListView 的 优化原因
Android记录21-关于ListView数据错乱的解决方案
前言 本篇博客要给大家分享的是在Android开发中遇到滑动数据错乱的问题如何解决,先描述一些为什么会出现数据错乱,熟悉ListView复用原因的朋友一定知道,我们在开发中为了优化数据显示,避免卡顿,会利用ListView的缓存机制来复用我们的View。 来看一段我们经常会写的代码: package com.xiaowu.adapter; import com.xia
关于ListView的Item中嵌套ProgressBar的那些事
这几天一直在为了这个Listview嵌套Progressbar的情况伤脑筋,可是项目中又不能少了这些功能,上周老大说要在项目中增加一个图片上传的功能,我一听,这好啊,可以实现客户与服务器的交互,又能增加客户体验,不是两全其美么?哈哈,不过问题来了,在我使用Progressbar在Listview中的时候发现并不是自己想象的那么顺利,因为牵扯到很多UI错乱的情况,这可急坏我了,怎么办?只能自己好想办法
文章标题android之listview异步加载图片时显示加载进度ProgressBar
这里写代码片 package com.example.listviewitemprogress; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import android.app.Activity; import android.content.Context; imp
ListView异步加载图片进度条
实现了异步加载图片进度条,代码更具有规范性
自画TListView带进度条的Item
  自画TlistView带进度条的Item TListView的Item条一般是由系统自画的,但电驴就实现了自画,使之看起来很漂亮,我们用DELPHI也可以实现! 首先要引用CommCtrl单元,这是TListView底层控制单元:uses CommCtrl; //画状态条procedure DrawSubItem(LV: TListView; Item:
listview数据错乱、重复的原因分析与解决方案
目前我们使用listview展示数据时,adapter的getView方法通常使用convertView.setTag(viewHolder)的方式来避免出现卡顿的情况,这种方式能使convertView得以复用,避免重复的调用inflate方法渲染界面。但是,如果使用不当,可能会出现数据错乱、重复的问题,比如下面这个demo:这个demo是要listview在偶数行只显示大写字母,在奇数行既显示大
Android中listview图片错乱问题及解决方案
解析一: Android ListView滚动过程中图片显示重复、错乱、闪烁的原因及解决方法,顺带提及ListView的缓存机制。 1、原因分析 ListView item缓存机制:为了使得性能更优,ListView会缓存行item(某行对应的View)。ListView通过adapter的getView函数获得每行的item。滑动过程中, a. 如果某行item已经滑出屏幕,若该item