0
Я создал h.postdelayed, и я хочу отменить это, если условие истинно. Я написал условие if, и внутри него я сделал h.removeCallbacksAndMessages (null). Тем не менее, я вижу, что «таймер» все еще работает. Любая помощь?Обработчик # removeCallbacksAndMessages не работает должным образом
h.postDelayed(new Runnable() {
public void run() {
timePassed++;
timeLeft = (maxTime - timePassed)/10;
timeLeftStr = "Time left: " + timeLeft + " seconds";
timer.setText(timeLeftStr);
if (timeLeft <= 0) {
started = false;
h.removeCallbacksAndMessages(null);
setupGameOver(restartBtn, header1, header2, timer);
}
h.postDelayed(this, 100);
}
}, 100);
так же, как: Не removeCallbacksAndMessages если вы не хотите, чтобы снова запустить - вы не имеете любой "до" 'Runnable' так есть ничего не удалить – pskink
да. Я собираюсь предположить, что у @Freeline есть другие runnables looping, которые также нуждаются в остановке, поэтому я оставил метод removeCallbacksAndMessages, как и для того, чтобы это все еще происходило. – petey
aaa ok я вижу вашу точку – pskink