Android onDestroy()中的停止计时器
嗨,伙计们,我想在方法onDestroy中停止我的计时器,但我不知道什么是最好的解决方案。。。 我在onDestroy中尝试了timer.purge(),但出现错误Android onDestroy()中的停止计时器,android,Android,嗨,伙计们,我想在方法onDestroy中停止我的计时器,但我不知道什么是最好的解决方案。。。 我在onDestroy中尝试了timer.purge(),但出现错误 @Override public void onDestroy(){ final ToggleButton btnImbarco = (ToggleButton) findViewById(R.id.toggleButton1); final ToggleButton btnAtterraDecolla = (
@Override
public void onDestroy(){
final ToggleButton btnImbarco = (ToggleButton) findViewById(R.id.toggleButton1);
final ToggleButton btnAtterraDecolla = (ToggleButton) findViewById(R.id.toggleButton3);
final ToggleButton btnRitardo = (ToggleButton) findViewById(R.id.toggleButton2);
if(!btnImbarco.isChecked() && !btnAtterraDecolla.isChecked() && !btnRitardo.isChecked())
//STOP TIMER HERE
}
public void callAsynchronousTask(final TextView attendere,
final ToggleButton btnAtterraDecolla, final ToggleButton btnRitardo, final ToggleButton btnImbarco)
{
final Handler handler = new Handler();
Timer timer = new Timer();
TimerTask doAsynchronousTask = new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
public void run() {
try {
FlightTask aTask = new FlightTask(attendere,btnAtterraDecolla,btnRitardo,btnImbarco);
if(btnAtterraDecolla.isChecked())
..........
if(btnRitardo.isChecked())
...........
if(btnImbarco.isChecked())
........
aTask.execute();
} catch (Exception e) {
// TODO Auto-generated catch block
}
}
});
}
};
timer.schedule(doAsynchronousTask, 0, TEMPO_ESECUZIONE_THREAD); //execute in every 50000 ms
}
@Override
protected void onCreate(Bundle savedInstanceState) {
......
你能帮我吗?
我只想在活动被破坏时停止计时器!
谢谢…我通常用这种方式取消计时器: 我在启动计时器时将布尔值设置为true,然后在onDestroy中检查它
@Override
public void onDestroy() {
stopUpdates();
super.onDestroy();
}
private void stopUpdates() {
if (isTimerRunning) {
updateTimer.cancel();
updateTimer.purge();
updateTimer = null;
isTimerRunning = false;
}
}
我通常通过以下方式取消计时器: 我在启动计时器时将布尔值设置为true,然后在onDestroy中检查它
@Override
public void onDestroy() {
stopUpdates();
super.onDestroy();
}
private void stopUpdates() {
if (isTimerRunning) {
updateTimer.cancel();
updateTimer.purge();
updateTimer = null;
isTimerRunning = false;
}
}
通常是计时器。取消()…但请检查计时器=通常为NullTimer.cancel()…但请检查计时器是否为空=无效的