2015-01-08 101 views

回答

0

獲取兩次之間的總毫秒數,然後剩下的只是顯示工作。您可以使用CountDownTimer更新顯示。

Calendar now = Calendar.getInstance(); 
Calendar nextHour = Calendar.getInstance(); 
nextHour.add(Calendar.HOUR, 1); 
nextHour.set(Calendar.MINUTE, 0); 
nextHour.set(Calendar.SECOND, 0); 

long difference = nextHour.getTimeInMillis() - now.getTimeInMillis(); 

new CountDownTimer(difference, 1000) { 

public void onTick(long millisUntilFinished) { 
    mTextField.setText("seconds remaining: " + millisUntilFinished/1000); 
    } 

    public void onFinish() { 
     mTextField.setText("done!"); 
    } 
}.start(); 
+0

爲什麼不將Calendar.Minute作爲一個整數,然後每秒鐘顯示60分鐘? – Distwo

+0

@Adam W我有點新手可以展示如何添加異步任務來更新每一秒? –

+0

@MekunuStudio更新了一些代碼。只需製作帶有文本字段的佈局文件即可,如圖所示更新它。隨意標記正確的,如果這對你有用。 –

1

獲取當前時間,在當前時間獲取分鐘數。做60 - 目前的分鐘數?

+0

謝謝,你能展示如何在代碼中做到這一點? –

+0

@Adam W它的工作原理,但你可以將它轉換爲分鐘和秒。它目前僅以毫秒顯示 –