2013-03-12 96 views
3

我想知道是否可以無限次重複CountDownTimer是否有可能重複一個臨時計時器?

我想做一個盲測,當定時器不在時&用另一首歌曲重新啓動時會改變歌曲。

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.jeu); 

    int timeinminutes=1; 

    new CountDownTimer(timeinminutes*21000, 1000) 
    { 

     TextView jeutimer = (TextView) findViewById(R.id.jeu_timer); 

     public void onTick(long millisUntilFinished) 
     { 
      long scnds=0; 
      scnds=(millisUntilFinished/1000); 
      jeutimer.setText("" + scnds); 
     } 


     public void onFinish() 
     { 

     } 
    }.start(); 

我的問題是,有沒有「重啓」功能,我要重新啓動我的倒計時無限

+0

我認爲我們需要澄清。你爲什麼不給我們一些代碼或者你想到的任何我們可以談論的內容。 – 0x5f3759df 2013-03-12 02:33:46

+0

對不起,我在評論時正在做它! – omnisius 2013-03-12 02:37:48

回答

2

只需保存定時器的參考:

CountDownTimer timer; 

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.jeu); 

    int timeinminutes=1; 

    timer = new CountDownTimer(timeinminutes*21000, 1000) 
    { 

     TextView jeutimer = (TextView) findViewById(R.id.jeu_timer); 

     public void onTick(long millisUntilFinished) 
     { 
      long scnds=0; 
      scnds=(millisUntilFinished/1000); 
      jeutimer.setText("" + scnds); 
     } 


     public void onFinish() 
     { 

     } 
    }.start(); 

現在,您將能夠隨時重新啓動它:

timer.start(); 

並停止它:

timer.cancel(); 
7

你可以重新啓動它再次 -

 timer =new CountDownTimer(360000,3000) { 

     @Override 
     public void onTick(long millisUntilFinished) { 

      //Some work 

     } 

     @Override 
     public void onFinish() { 
      timer.start(); // start it again after it finishes 

     } 
    }.start(); 
0

在onFinish()方法調用 「this.start」 也只是正常

相關問題