计时器不显示分钟

时间:2014-07-08 11:35:19

标签: android android-activity timer

我正在尝试设置计时器。计时器正在工作,但只计数秒......分钟仍为00。

Handler timerHandler = new Handler();
Runnable timerRunnable = new Runnable() {

    @Override
    public void run() {
        long millis = ((System.currentTimeMillis() + resumeTime) - startTime);
        int hours   = (int) ((millis / (1000*60*60)) % 24);
        int seconds = (int) ((millis / 1000) % 60); 
        int minutes = seconds / 60;

        TextView timer = (TextView) findViewById(R.id.textView6);
        timer.setText(String.format("%02d:%02d:%02d",hours, minutes, seconds));

        timerHandler.postDelayed(this, 500);
    }
};

2 个答案:

答案 0 :(得分:1)

seconds始终介于0到59之间,除以60只表示它始终为0.您应该修改数学,以便根据hours得到分钟,而不是{ {1}}。做数学取决于你:)

PS:我刚看到你的问题标题与你问题的第一句话相矛盾。 Yu意味着你的分钟总是00而不是秒,对吧?!

答案 1 :(得分:0)

由于WarrenFaith建议秒数始终在0到59之间,除以60只表示它始终为0。

所以要分钟,改变

int minutes = seconds / 60;

int minutes = (int) (millis / (1000 * 60));