在下载列表页面DownloadListActivity可以看到下载进度的变化,但是我使用对话方式的显示下载进度的时候,进度没有发生变化。经过一步一步的调试最后找到了原因。
DownloadItemViewHolder类里面的
//刷新
public void refresh() {
label.setText(downloadInfo.getFileName());
state.setText(downloadInfo.getState().toString());
if (downloadInfo.getFileLength() > 0) {
progressBar.setProgress((int) (downloadInfo.getProgress() * 100 / downloadInfo.getFileLength()));
} else {
progressBar.setProgress(0);
}
stopBtn.setVisibility(View.VISIBLE);
stopBtn.setText("暂停");
HttpHandler.State state = downloadInfo.getState();
switch (state) {
case WAITING:
stopBtn.setText("暂停");
break;
case STARTED:
stopBtn.setText("暂停");
break;
case LOADING:
stopBtn.setText("暂停");
break;
case CANCELLED:
stopBtn.setText("继续");
break;
case SUCCESS:
stopBtn.setVisibility(View.INVISIBLE);
break;
case FAILURE:
stopBtn.setText("重试");
break;
default:
break;
}
downloadListAdapter.notifyDataSetChanged(); // 添加这行对适配器进行刷新一次。
}
}