在Android上显示ProgressBar上的时间

时间:2011-02-25 05:31:35

标签: java android

现在,我已经创建了进度条,我想分配进度条的时间(例如2分钟) 用户必须能够在运行进度条时看到时间。 我们如何才能实现这一目标?

3 个答案:

答案 0 :(得分:5)

您可以使用CountDownTimer

更新ProgressBar
    bar = (ProgressBar) findViewById(R.id.progress);
    bar.setProgress(total);
    int twoMin = 2 * 60 * 1000; // 2 minutes in milli seconds

    /** CountDownTimer starts with 2 minutes and every onTick is 1 second */
    cdt = new CountDownTimer(twoMin, 1000) { 

        public void onTick(long millisUntilFinished) {

            total = (int) ((dTotal / 120) * 100);
            bar.setProgress(total);
        }

        public void onFinish() {
             // DO something when 2 minutes is up
        }
    }.start();

答案 1 :(得分:1)

我建议您使用进度对话框而不是使用进度条。还可以使用线程进行对话框来设置它。

请检查此link。还可以从官方Android博客链接。 Link请参阅创建进度对话框&在第二个例子中使用线程。

答案 2 :(得分:0)

Onkar ... AsyncTask可以承载时间密集型任务并报告进度,如果时间密集型任务可以分解为子任务。 AsyncTask使用泛型来实现它的魔力。进度类型是三个“必需的正式类型参数”的中间类型,即<Params,Progress,Result>

JAL