2011-02-25 51 views

回答

5

,您可以更新使用CountDownTimer

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

CountdownTimer會在AyncTask中工作嗎? – 2012-05-08 16:59:01

+0

@GauravAgarwal:不,根據其單屏幕源,它使用默認處理程序,因此在主循環(即UI)上調用每個「滴答」和「完成」。如果你想定期在後臺執行某些事情,你可以在'onTick'上啓動你的'AsyncTask' – TWiStErRob 2014-12-01 14:17:25

1

我建議你使用進度對話框而不是使用進度條。還可以使用線程進度對話框進行設置。

請檢查這個link。也可以從官方的Android博客鏈接。 Link請參閱使用線程在第二個示例中創建進度對話框 &。

+0

好的......如何通過線程進行對話來實現它。?你可以給一些鏈接或樣本相同。 – OnkarDhane 2011-02-25 05:45:02

+0

@Onkar: - 編輯答案 – 2011-02-25 05:47:43

0

Onkar你的進度...的AsyncTask既可以舉辦時間密集型任務和報告進度,如果時間密集的任務可以分解爲子任務。 AsyncTask使用泛型來實現它的魔力。進度類型將是三個「必需的正式類型參數」的中間類型,即<Params,Progress,Result>

JAL

+0

你可以顯示或指向一個示例嗎? – 2012-05-08 16:57:43