我想知道是否可以无限重复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 :(得分:8)
你可以重新启动它 -
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();
答案 1 :(得分: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();
答案 2 :(得分:2)
在onFinish()方法中调用“this.start”也可以正常工作