Обратный отсчет времени не работает, если я позвоню cancel
Всем привет,
У меня есть таймер обратного отсчета, который создан для закрытия видеопотока через 20 секунд.
Моя проблема в том, что таймер не останавливается и считает очень быстро. Так что я должен позвонить отменять но при вызове отмены он не работает.
пожалуйста, проверьте мой код ниже и дайте мне знать.
Заранее спасибо
Что я уже пробовал:
private void StartVideoTimer(int countdownPeriod){ Log.d(LOG_TAG, "[startVideoTimer] - Starting timer for video (in calibration), countdown period = " + countdownPeriod); /**tried to cancel here*/ // if (inCalibrationVideoTimer != null) { // inCalibrationVideoTimer.cancel(); // inCalibrationVideoTimer = null; // } streamIsRunning = true; inCalibrationVideoTimer = new CountDownTimer(countdownPeriod, VIDEO_TIMER_INTERVAL) { @Override public void onTick(long millisUntilFinished) { final int secondsLeft = (int) millisUntilFinished / 1000; Log.d(LOG_TAG, "[onTick] - Seconds left = " + secondsLeft); SharedPreferences.Editor editor = getSharedPreferences(PREFERENCES_FILE, Context.MODE_PRIVATE).edit(); editor.putInt("inCalibrationvideoTimerCountdown", secondsLeft); editor.apply(); try { if (streamIsRunning) { runOnUiThread(new Runnable() { @Override public void run() { videoTimeTextView.setText(String.format(getString(R.string.common_timer_format), secondsLeft)); } }); } } catch (IllegalStateException e) { e.printStackTrace(); } } @Override public void onFinish() { try { if (streamIsRunning) { runOnUiThread(new Runnable() { @Override public void run() { videoTimeTextView.setText(String.format(getString(R.string.common_timer_format), 20)); } }); } } catch (IllegalStateException e) { e.printStackTrace(); } } }.start(); /**tried to cancel here but not working*/ }
Richard MacCutchan
Каково значение VIDEO_TIMER_INTERVAL?
Samira Radwan
VIDEO_TIMER_INTERVAL = 1000
wseng
где ваша кнопка отмены ?
Samira Radwan
Там нет кнопки отмены. Мой код отмены находится в комментарии в начале метода. Должен ли таймер иметь кнопку отмены?
Richard MacCutchan
Я все еще в замешательстве относительно реальной проблемы, которая у вас есть. Что вы имеете в виду под этим, - таймер не останавливается и считает очень быстро."?
Samira Radwan
проблема в том, что если я не звоню (отменяю), таймер отсчитывает очень быстро и не останавливается. он закрывает видео через 20 секунд, но продолжает работать