2013-03-17 1 views
2

У меня есть таймер, который отлично работает, он будет выводить мой тост каждые 10 секунд. Я думал, что я понял следующий код довольно хорошо, но Apparantly я не как не могу удалить таймер, вот мой код:Как полностью удалить runnable таймер?

private void TimerMethod() { 
    this.runOnUiThread(Timer_Tick); 
} 

private Runnable Timer_Tick = new Runnable() { 
    public void run() { 
     Toast.makeText(Map.this, "You are going to " + destination,Toast.LENGTH_SHORT).show(); 
    } 
}; 

public void time() { 

    myTimer.schedule(new TimerTask() { 
     @Override 
     public void run() { 
      TimerMethod(); 
     } 

    }, 0, timerAmount); 
} 

Я пробовал:

myTimer.cancel(); 

Но, видимо, это только не влияют на любые текущие запущенные задачи, согласно помощи на Android. Я тестировал его, и он не работал.

Я подумал, может быть, я мог бы что-то сделать с запущенным объектом Timer_Tick, но я не могу с ним поделать.

В целом я заблудился в своем опубликованном коде, потому что я не уверен, что делает то, что сейчас, я был бы признателен за объяснение того, как удалить любую часть, за которую запускает таймер.

ответ

1

Просто создайте свои собственные Handler и post()TimerTick. Если вы не хотите, чтобы ваш TimerTick работал, просто позвоните removeCallbacks() на Handler.

(я думаю, что это то, что вы просите ...)

+0

Спасибо Джеймс, я буду смотреть в том, как это сделать, и дать ему попробовать, если я застрял, возможно, вы можете показать мне пример того, как сделать это? Ура! – deucalion0

+0

На самом деле это было довольно легко реализовать, спасибо за совет, у меня теперь все нормально работает! :) – deucalion0

 Смежные вопросы

  • Нет связанных вопросов^_^