[英]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.