2016-04-18 48 views
0

我一直在試圖格式化倒數計時器,並沒有太大的成功。在倒計時的不過分鐘/小時/秒作爲輸入,正確的金額,在輸出返回給用戶,而不是一個美麗的正常看着倒計時的樣子,我得到以下不同的輸出: When attempting to countdown from 25 minutesHH:MM:SS格式android studio CountdownTimer

當試圖倒計時從25分鐘,然後低於我有我試圖從10分鐘倒計時: 10 minutes 它似乎用1分鐘或更少的東西倒計時。

這是我必須格式化輸出的代碼,我也包括了CounterClass的代碼,它是在提前

private class CounterClass extends CountDownTimer { 
    public CounterClass(long millisInFuture, long countDownInterval) { 
     super(millisInFuture, countDownInterval); 
    } 

    @Override 
    public void onTick(long millisUntilFinished) { 
     String hms = String.format("%02d:%02d:%02d", 
       TimeUnit.MILLISECONDS.toHours(millisUntilFinished), 
       TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished), 
       TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished)); 

     timeDisp.setText(hms); 
    } 
} 

謝謝!

回答

0

正如this answer

您可以通過執行獲得的時間表示:

int hours = (int) ((millisUntilFinished/(1000*60*60)) % 24); 

,並注意到您可以通過做這個計算分鐘的任意給定的量:

_tv.setText(""+String.format("%d min, %d sec", 
       TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished), 
       TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - 
       TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished)))); 
+0

非常感謝 :) – Caoimhe