切换按钮不会关闭计时器

时间:2014-08-08 20:20:50

标签: java android timer

为了测试目的,我已经设置了一个定时器设置为每30秒执行一次任务,并且当前它打开并且计时器工作但它没有关闭并且任务只是继续执行。 切换按钮代码

 @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        Timer myTimer = new Timer();
        MyTimerTask myTimerTask = new MyTimerTask();
        if (isChecked)
        {
          myTimer.scheduleAtFixedRate(myTimerTask,0,30000);
            Toast.makeText(getBaseContext(),"Check-In will be done every 30 seconds",Toast.LENGTH_SHORT).show();
        }
        else
        {
         myTimer.cancel();
         Toast.makeText(getBaseContext(),"Manual Check-In enabled",Toast.LENGTH_SHORT).show();
        }

    }

此代码位于onCreate方法

 toggler = (ToggleButton) findViewById(R.id.togglelocationupdate);
        toggler.setOnCheckedChangeListener(this);

我的MainActivity实施CompoundButton.OnCheckedChangeListener

1 个答案:

答案 0 :(得分:0)

因为每次单击按钮时都要创建Timer的新实例。将myTimer声明移至班级。