是否有可能重复一个临时计时器?
问题描述:
我想知道是否可以无限次重复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();
我的问题是,有没有“重启”功能,我要重新启动我的倒计时无限
答
只需保存定时器的参考:
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();
答
你可以重新启动它再次 -
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();
答
在onFinish()方法调用 “this.start” 也只是正常
我认为我们需要澄清。你为什么不给我们一些代码或者你想到的任何我们可以谈论的内容。 – 0x5f3759df 2013-03-12 02:33:46
对不起,我在评论时正在做它! – omnisius 2013-03-12 02:37:48