1

我有 4 个 int 时间

int delay;
int period;
int delay1;
int period1;

他们正在控制这些方法:

cameraOn();
    Timer timer = new Timer();
    timer.scheduleAtFixedRate(new TimerTask() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            cameraOff();
        }
    },delay1,period1);



    Timer timer2 = new Timer();
    timer2.scheduleAtFixedRate(new TimerTask() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            cameraOn();
        }
    },delay,period);

        }

这些方法是让闪光灯相机一直闪烁,我想要的是用我有的两个按钮,改变闪烁的速度,现在它们是这样的:

case R.id.btslow:
        delay = 2400;
        period = 2400;
        delay1 = 1200;
        period1 = 2400;
        break;

    case R.id.btfast:
        delay = 600;
        period = 600;
        delay1 = 300;
        period1 = 600;
        break;

但他们不改变眨眼的速度,我该怎么做?因为如果稍后从一开始就给他们一些勇气,当我按下按钮时,他们不会改变。谢谢!!

4

2 回答 2

1
Handler handler = new Handler();
Runnable runnable = new Runnable{

public void run()
{
cameraOff();
handler.postDelayed(this,period);
}
};handler.postDelayed(runnable,delay);
于 2012-12-22T11:18:53.110 回答
0

更改变量不会改变当前计划任务的间隔和延迟,试试这个:https ://stackoverflow.com/a/3871723/1333516

于 2012-12-22T11:12:11.317 回答