如果我使用过代码,对话框不显示百分比
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
int total = msg.arg1;
mProgressDialog.setProgress(total);
if (total >= 100){
try {
mProgressThread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dismissDialog(DIALOG_DOWNLOAD_PROGRESS);
mProgressThread.setState(ProgressThread.STATE_DONE);
}
}
};
并在线程代码中
while ((count = input.read(data)) != -1) {
total += count;
Message msg = mHandler.obtainMessage();
msg.arg1 = total;
mHandler.sendMessage(msg);
output.write(data, 0, count);
}
怎么了?如果我使用总++;而是总计+=计数;比例提高到 19%,但没有提高到 100%。这是因为文件的下载速度比 while 循环 100 迭代快。如果我使用总 += 计数;它显示 0 但比例为 100% 文件已下载。