2015-01-08 147 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它的工作原理,但你可以将它转换为分钟和秒。它目前仅以毫秒显示 –