Timer
オンにしたときに開始し、ToggleButton
オフにしたときにキャンセルしたいのですが。動作しますが、キャンセルしてやり直そうとするとエラーになります。問題はどこだ?コードは次のとおりです。
final ToggleButton btnLive = (ToggleButton)findViewById(R.id.live);
btnLive.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (btnLive.isChecked()) {
timer = new Timer();
timer.schedule(timerTask, 5*1000, 5*1000);
} else {
timer.cancel();
timer.purge();
timer = null;
}
}
});
編集:それはそのようにタイマーを呼び出すことで動作します:
timer.schedule(new TimerTask(){
private Runnable runnable = new Runnable() {
public void run() {
new Something().execute();
}
};
public void run() {
handler.post(runnable);
}
}, 5*1000, 5*1000);
最初の方法が機能しない理由を説明していただけますか?範囲の問題ですか?