CountDownTimer останавливается, когда появляется PopupWindow

В деятельности Android я использую CountDownTimer следующее:

    timer = new CountDownTimer(time, 1000) {
        public void onTick(long millisUntilFinished) {
            timeView.setText(String.format(Locale.getDefault(), "%ds", millisUntilFinished / 1000));

            if (millisUntilFinished <= 10000) {
                // Blinking text
                ViewUtil.setBlinking(timeView,Animation.INFINITE);
            } else {
                timeView.clearAnimation();
            }
        }

        public void onFinish() {
            timeView.clearAnimation();
            timeView.setText("0s");
    }.start();

Этот таймер просто считает в считанные секунды. В этом же упражнении я также показываю всплывающее окно, используя PopupWindow Класс следующим образом:

    LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(LAYOUT_INFLATER_SERVICE);
        ConstraintLayout mRelativeLayout = (ConstraintLayout) findViewById(R.id.task_layout);
        View customView = inflater.inflate(R.layout.popup_window,mRelativeLayout,false);
        mPopupWindow = new PopupWindow(
                customView,
                LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT
        );
        mPopupWindow.setElevation(5.0f);
        mPopupWindow.showAtLocation(mRelativeLayout, Gravity.CENTER,0,0);

Проблема в том, что как только появляется всплывающее окно, CountDownTimer останавливается как-то. Я хочу, чтобы CountDownTimer запускается также, когда появляется всплывающее окно и фоновое представление все еще обновляется.

Как это может быть сделано?

1 ответ

Решение

Ты бегаешь CountDownTimer в потоке пользовательского интерфейса, когда вы всплывающее окно, поток идет для этого окна, однако я искал через PopupWindow документация, но она имеет слабую документацию не может найти много

С помощью CountDownTimer на заднем плане решить это. С помощью Asynctask, Service или же Runnable

Другие вопросы по тегам