在activity1下载文件时(在一个线程中下载),有进度条和显示下载百分比,按返回键回到activity2.当再次回到activity1时,任然显示最新的进度条和显示下载百分比数据。返回时,activity1销毁了,怎么保存当前进度条和显示下载百分比数据?

解决方案 »

  1.   

    你的线程怎么写的?
    自定义个线程类,继承runnable接口。
    线程类里面维护个成员变量下载百分比。
    再写个get方法。
    返回activity1的时候只需要调用线程的get方法拿到百分比,然后就能设置进度条和百分比值了。
      

  2.   

    class MyDownLoadThread implements Runnable{File downloadFilevoid run() {
    //下载
    }int getPercentage(){
    //通过已下载的file大小来返回百分比
    }}
      

  3.   


    下载放在一个线程中,下载的进度显示(finish)循环获取文件流的过程中 放在了一个全局变量app中,在handler中获取存放在app中的变量,设置到当前进度条。但效果还是没实现。
    以下是 关键代码
    Thread thread = new Thread() {
    public void run() {
    try {
    String doc = URLEncoder.encode(docName, "UTF-8"); // 中文转码

    DownFile(Path + doc);   //下载文件

    } catch (Exception e) {
    }
    }
    };
    thread.start();while ((byteread = inputStream.read(buffer)) != -1){
    outputStream.write(buffer, 0, byteread);
    outputStream.flush();
    finish += byteread;
    app.put("finish", finish);
    sendMessage(DOWNLOADING);
    }case DOWNLOADING:
    progressBar.setProgress((Integer) app.get("finish"));
    downloadPercent = finish * 100 / fileSize;
    complete.setText(downloadPercent + "%");     
    size.setText(ManualActivity.FormetFileSize(finish) + "/"     
    + ManualActivity.FormetFileSize(fileSize));
    break;