簡體   English   中英

Android(Java)倒數計時器轉換為文字

[英]Android (Java) count down timer into text

基本上,我有一個倒數計時器嗎? 我需要以文本顯示計時器剩余的時間。 我已經做到了,但是計時器的時間有點長,因為它需要將剩余的秒數轉換成小時和分鍾,就像在普通的數字手表上說00:05:00並倒計時到00:04一樣: 59。 今天我做了很多事情,此刻我的頭很疼,所以我無法完全考慮。 因此,我的猜測是我需要使用60的倍數。幫助?

碼:

int timeinminutes=1;

    new CountDownTimer(timeinminutes*100000, 1000) {

        TextView mTextField = (TextView) findViewById(R.id.textView1);

         public void onTick(long millisUntilFinished) {
             long hrs=0;
             long mnts=0;
             long scnds=0;
             scnds=(millisUntilFinished/1000);
             if (scnds>59) {
                 mnts=(scnds/60);
                 if (mnts!=Math.floor(mnts)) {
                     mnts=0;
                 }

             }
             if (mnts>59) {
                 hrs=(mnts/60);
                 if (hrs!=Math.floor(hrs)) {
                     hrs=0;
                 }
             }
             mTextField.setText(hrs + ":" + mnts + ":" + scnds);
         }

         public void onFinish() {
             mTextField.setText("00:00:00");
         }
      }.start();

許多工作已經完成。 如果您了解SimpleDateFormat,它應該可以幫助您逐步解決此問題。

您也可以在此處找到更多信息。

在此處查看java.util.Timer。

這些應該可以解決您的任何問題。

您應該有一個單獨的類,該類進行倒計時並將剩余時間(以毫秒為單位)作為字段。 該類可以具有一個方法,該方法啟動一個休眠1000毫秒的線程,然后從原始時間(以毫秒為單位)減去1000,直到剩余時間為0。

然后,您可以使用另一個Thread(每1000毫秒更新一次TextView)和SimpleDateFormat來從countdowntimer對象獲取剩余時間並對其進行格式化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM