Android 取消后创建一个新计时器

Android 取消后创建一个新计时器,android,Android,我有一个定时器,按一下按钮就能以一定的速度(500毫秒)播放声音 final Timer timer = new Timer("Timer", true); final TimerTask tone = new TimerTask(){ @Override public void run(){ sound1.start(); } }; Button go = (Button)findViewById(R.id.buttonGo); go.set

我有一个定时器,按一下按钮就能以一定的速度(500毫秒)播放声音

final Timer timer = new Timer("Timer", true);

final TimerTask tone = new TimerTask(){
    @Override
    public void run(){   
        sound1.start();
    }
};

Button go = (Button)findViewById(R.id.buttonGo);

go.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        timer.scheduleAtFixedRate(tone, 500, 500); 
    }
});
我有另一个按钮,它可以停止这个计时器的播放,理论上可以创建另一个计时器,这样它就可以再次播放

Button stop = (Button)findViewById(R.id.buttonStop);

stop.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        timer.cancel();
        final Timer timer = new Timer("Timer", true);
    }
});

按下停止按钮后,计时器成功停止,但我无法再次播放,应用程序崩溃。有人知道解决方案吗?

问题只是变量计时器的范围。它在onClick()内声明,您可能试图从外部访问它