2015-12-04 69 views
0

我用runnable()使倒數計時器我的遊戲如何設置倒計時時間格式

我設置int cd=30;

,這是運行的方法是

final Handler mHandler = new Handler(); 

final Runnable mUpdateTimeTasks = new Runnable() { 

    public void run() { 
     countdowntext.setText(String.valueOf(cd)); 
     cd -=1; 
     if(cd < 10) { 
      countdowntext.setTextColor(Color.RED); 
     } 
     if(cd == 0) { 
      focus.stop();          
     } 
    }; 
    // run this in a method. 
    mHandler.postDelayed(mUpdateTimeTasks, cd); 
} 

代碼爲工作正常,但問題只是coundown計時器運行如此之快,我只是想如何使int cd = 1 = 1秒,所以cd = 30 = 30秒

可以任何一個幫助我?

回答

2

我只是想知道如何使INT CD = 1 = 1秒了,所以CD = 30 = 30 第二

那麼你應該使用mHandler.postDelayed(mUpdateTimeTasks, 1000)

final Runnable mUpdateTimeTasks = new Runnable() { 
     public void run() { 
      countdowntext.setText(String.valueOf(cd)); 
      cd -=1; 
      if(cd < 10) { 
       countdowntext.setTextColor(Color.RED); 
      } 
      if(cd == 0) { 
       focus.stop();   
       mHandler.removaCallbacks(null); 
       return;     
      } 
      mHandler.postDelayed(this, 1000) 
}; 

這不會給出正好30秒,但真的很接近它

+0

感謝它工作正常! – Ricci

0

mHandler.postDelayed(mUpdateTimeTasks,cd); CD是毫秒

你應該從改變你的代碼:

final Handler mHandler = new Handler(); 

最終的Runnable mUpdateTimeTasks =新的Runnable(){

public void run() { 
    countdowntext.setText(String.valueOf(cd)); 
    cd -=1; 
    if(cd < 10) { 
     countdowntext.setTextColor(Color.RED); 
    } 
    if(cd == 0) { 
     focus.stop();          
    } 
}; 
// run this in a method. 
mHandler.postDelayed(mUpdateTimeTasks, cd); 
} 

要這樣:

final Handler mHandler = new Handler(); 

final Runnable mUpdateTimeTasks = new Runnable() { 

    public void run() { 
     countdowntext.setText(String.valueOf(cd)); 
     cd -=1; 
     if(cd < 10) { 
      countdowntext.setTextColor(Color.RED); 
     } 
     if(cd == 0) { 
      focus.stop();  
      mHandler.removaCallbacks(null); 
      return();         
     } 
    }; 
    // run this in a method. 
    mHandler.postDelayed(mUpdateTimeTasks, 1000); 
    } 

表示在一秒鐘後(1000/1000秒)檢查可運行mUpdateTimeTasks方法。