程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-使用計時器顯示時間出現的問題

android-使用計時器顯示時間出現的問題

編輯:編程綜合問答
使用計時器顯示時間出現的問題

我在程序中使用定時器,我需要顯示將來幾天剩余的小時,分鐘和秒。
我獲取了時間,分鐘和秒,但是當我在text view上設置時,計時器不啟動。

Date date = new Date(2013,Integer.parseInt(datess.get(k).split("-")[1])-1,Integer.parseInt(datess.get(k).split("-")[0]),hours,mins,secs);  
     long dtMili = System.currentTimeMillis();  
     Date dateNow = new Date(dtMili);  
      remain = date.getTime() - dateNow.getTime();
MyCount counter = new MyCount(remain,1000);
            counter.start();
public class MyCount extends CountDownTimer{
    public MyCount(long millisInFuture, long countDownInterval) {
        super(millisInFuture, countDownInterval);
        }
    @Override
    public void onFinish() {
        // TODO Auto-generated method stub

        tv3.setText("done");
    }
    @Override
    public void onTick(long millisUntilFinished) {
        // TODO Auto-generated method stub
        tv3.setText(timeCalculate(millisUntilFinished/1000) + " Countdown");
    }
}
 public String timeCalculate(long ttime)   
   {  
     long  daysuuu,hoursuuu, minutesuuu, secondsuuu;  
     String daysT = "", restT = "";  
     daysuuu = (Math.round(ttime) / 86400);  
     hoursuuu = (Math.round(ttime) / 3600) - (daysuuu * 24);  
     minutesuuu = (Math.round(ttime) / 60) - (daysuuu * 1440) - (hoursuuu * 60);  
     secondsuuu = Math.round(ttime) % 60;  
     if(daysuuu==1) daysT = String.format("%d day ", daysuuu);  
     if(daysuuu>1) daysT = String.format("%d days ", daysuuu);  
     restT = String.format("%02d:%02d:%02d", hoursuuu, minutesuuu, secondsuuu);  
     return daysT + restT;  
   }  

輸出:
CSDN移動問答
為什麼計時器沒有開始?

最佳回答:


可以試下下邊的方法

@Override
public void onTick(long millisUntilFinished) {
        // TODO Auto-generated method stub

    tv3.post(new Runnable() {
                @Override
                public void run() {
                            txt3.setText(timeCalculate(millisUntilFinished/1000) + " Countdown"); 
                }
   });
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved