2013-03-12 31 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” 也只是正常

相关问题