textview中的显示计时器包含android中的天,小时,分钟和秒

时间:2014-05-02 08:58:52

标签: android timer

我正在使用倒数计时器在文本视图中显示剩余时间。它工作正常。 以下是代码: - \

    public class MyCount extends CountDownTimer {
    Context mContext;

    public MyCount(long millisInFuture, long countDownInterval) {
        super(millisInFuture, countDownInterval);

    }


    public void onTick (long millisUntilFinished) {

        MainActivity.timeDisplay.setText(formatTime(millisUntilFinished));


    }

    public void onFinish() {
        AutomaticCallRecorderStaticMethod.startRecording();

    }
}


    public String formatTime(long millis) {
    output = "";
    long seconds = millis / 1000;
    long minutes = seconds / 60;
    long hours=minutes/ 60;

    seconds = seconds % 60;
    minutes = minutes % 60;
    hours=hours%60;

    String secondsD = String.valueOf(seconds);
    String minutesD = String.valueOf(minutes);
    String hoursD=String.valueOf(hours);


    if (seconds < 10)
        secondsD = "0" + seconds;
    if (minutes < 10)
        minutesD = "0" + minutes;

    if (hours < 10)
        hoursD = "0" + hours;

    output = hoursD+" : "+minutesD + " : " + secondsD;
    return output;
}

启动计时器的代码: -

counter = new MyCount (length, 10);

一切都很好。它在文本视图中显示计时器,如00:00:00 最高限额为59:59:59。这意味着只有60个小时。现在我希望限制应该增加,如果用户选择3天然后计时器应该从71:59:59或类似的东西开始,以便倒数计时器的finish()方法应该在3天后调用。我怎么能去做?? 除此之外,我还希望以下列格式显示天数: -

天数:小时:分钟:剩余秒数。

我怎样才能实现这一目标。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

我想,你可以查看价值, if(millisec> 24 * 60 * 60 * 60 * 10 ......) 如果是这样,除以24得到天数..

(diff /(1000 * 60 * 60 * 24)); //用于计算天数

或 int days =(int)(毫秒/(1000 * 60 * 60 * 24));

其他方法是, 您可以使用日历对象进行映射我认为..我不确定..只是尝试一下..