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
一年多之前 回复
q610098308
q610098308 回复香辣鸡丁煲: 判断一下状态,如果没有下载的,进度条清空,在getview 中。
一年多之前 回复
u010880786
u010880786 这样子不行啊,一是内存太大了,二是你一滑动超过原来那一页前面进度条的进度会给你清空的啊(因为你又新建了一个)
一年多之前 回复
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中点击监听里怎么才能够得到它呢?绑定了滑动还是错乱啊
一年多之前 回复
qq_23374445
qq_23374445   2016.10.08 10:54

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!