当进度条加载到特定百分比时,我正在尝试添加消息。因此,当加载 10% 时,会出现标题或消息,表明已加载某些内容。我不能这样做,它迫使关闭。任何想法如何做到这一点。
下面是我的示例代码
  public void onClick(View v) {
        // prepare for a progress bar dialog
        progressBar = new ProgressDialog(v.getContext());
        progressBar.setCancelable(true);
        progressBar.setMessage("File downloading ...");
        progressBar.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        progressBar.setProgress(0);
        progressBar.setMax(100);
        progressBar.show();
        //getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
        //reset progress bar status
        progressBarStatus = 0;
        //reset filesize
        fileSize = 0;
        new Thread(new Runnable() {
          public void run() {
            while (progressBarStatus < 100) {
              // process some tasks
              progressBarStatus = doSomeTasks();
              // your computer is too fast, sleep 1 second
              try {
                Thread.sleep(1000);
              } catch (InterruptedException e) {
                e.printStackTrace();
              }
              // Update the progress bar
              progressBarHandler.post(new Runnable() {
                public void run() {
                  progressBar.setProgress(progressBarStatus);
                }
              });
            }
            // ok, file is downloaded,
            if (progressBarStatus >= 100) {
                // sleep 2 seconds, so that you can see the 100%
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                // close the progress bar dialog
                progressBar.dismiss();
            }
          }
           }).start();
           }
            });
    }
// file download simulator... a really simple
public int doSomeTasks() {
    while (fileSize <= 1000000) {
        fileSize++;
        setProgressBarIndeterminate(true);
        if (fileSize == 100000) {
            progressBar.setMessage("10 percent loaded");
            return 10;
        } else if (fileSize == 200000) {
            progressBar.setMessage("20 percent loaded");
            return 20;
        } else if (fileSize == 300000) {
            progressBar.setMessage("30 percent loaded");
            return 30;
        }
        // ...add your own
    }
    return 100;
}
感谢 StackOverFlow 用户