Пауза / Возобновить CountDownTimer Android

Можно ли приостановить CountDownTimer в Android? Я искал хорошие решения, но я просто нахожу некоторые способы сделать это, которые мне действительно не нравятся. Так же просто сохраните оставшееся время в переменной и инициализируйте новый CountDownTimer с этими значениями.

Такие решения работают, но они не выглядят так хорошо, потому что я использую круговую индикаторную строку и Textview вместе с моим countdownTimer. Было действительно уродливо пытаться выглядеть так, чтобы эти двое выглядели хорошо с CountDown, не будучи в состоянии действительно "приостановить" это.

Вот мой код для инициализации CountDownTimer с помощью ProgressBar и TextView.

    public void initProgress() {
    if (mCountdownProgressBar == null)
        mCountdownProgressBar = (CircleProgressBar) findViewById(R.id.progressBar);

    mCountDownTime = 30000; //Insert your desire time in Milliseconds here
    mCountdownProgressBar.setMaxProgress((int)TimeUnit.MILLISECONDS.toSeconds(mCountDownTime));
    mCountDownTimer = new CustomCountDownTimer(mCountDownTime, 1000) {

        @Override
        public void onTick(long millisUntilFinished) {
            Log.v("Log_tag", "Tick of Progress" + TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished));
            mCountdownProgressBar.setmProgress(TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished));
            mTimer.setText(Util.getTimeForTimer(millisUntilFinished, Util.TIME_FORMAT));
        }


        @Override
        public void onFinish() {
            mCountdownProgressBar.setmProgress(0);
            mTimer.setText(Util.getTimeForTimer(0, Util.TIME_FORMAT));
        }
    };
    mCountDownTimer.start();
}

С помощью этого кода вы сможете установить progressBar и TextView вместе с вашим CountDownTimer. Чтобы сделать паузу и возобновить ее довольно легко, я опубликую следующий пользовательский класс для CountDownTimer.

Ответы на вопрос(1)

Ваш ответ на вопрос