我希望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);
你能解释一下为什么第一种方法不起作用吗?这是范围问题吗?
答案 0 :(得分:0)
使用此类代码并检查。
Timer mTimer = new Timer();
mTimer.schedule(new TimerTask()
{
@Override
public void run() {
runOnUiThread(new Runnable() {
public void run() {
}
});
}
}, 5000, 500);