我正在Aandroid中创建一个项目,我需要一次又一次地启用和禁用多个计时器。
要重新启动计时器,我尝试了timer1.cancel()
,timer1.purge
,timer2.schedule
等以及wait
。但每次程序崩溃。
没有语法错误。
以下是样本:
foc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(col==1)
{
t.cancel();
t.purge();
songt=new Timer();
songt.schedule(songtask, 1000, mdl.getspeed());
}
}
});
b[len].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg) {
songt.cancel();
songt.purge();
//t=new Timer();
t.scheduleAtFixedRate(ttask, 1000, mdl.getspeed());
}
});
public TimerTask ttask=new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable()
{
public void run()
{
foc.requestFocus();
if(col==1)
{
lay.setBackgroundColor(Color.TRANSPARENT);
op.setBackgroundColor(Color.CYAN);
}
else
{
op.setBackgroundColor(Color.TRANSPARENT);
lay.setBackgroundColor(Color.CYAN);
}
col=1-col;
}
});
}
};
public TimerTask songtask=new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable()
{
public void run()
{
b[in].requestFocus();
if(rev==0)
{
in++;
if(in==len)
in=0;
}
else if(rev==1)
{
in--;
if(in==-1) in=len-1;
}
}
});
}
};