在Android中启用和禁用计时器

时间:2013-07-09 10:41:56

标签: java android

我正在Aandroid中创建一个项目,我需要一次又一次地启用和禁用多个计时器。 要重新启动计时器,我尝试了timer1.cancel()timer1.purgetimer2.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;
                }
            }
        });

    }
};

0 个答案:

没有答案