Android CountDownTimer выполняет только 2 onTick в эмуляторе с Android API 27

У меня есть следующий код, чтобы показать тост сообщение дольше:

View view = toast.getView();
TextView tv = (TextView) view.findViewById(android.R.id.message);
final String strMessage = tv.getText().toString();

if (!strMessage.equals("")) {        

    toast = Toast.makeText(this, "", Toast.LENGTH_LONG);
    toast.setText(strMessage);
    toast.setGravity(Gravity.TOP, 0, -200);

    int longitud = ((strMessage.length() / 35) + 1);      


    mcdtoast = new CountDownTimer(longitud * 3000, 3000) {



        public void onTick(long millisUntilFinished) {

            if (showtoast) { //boolean to check toast must be shown
                toast.setText(strMessage);
                toast.show();
            }
        }



        public void onFinish() {

        }

    }.start();

Этот код хорошо работал в API с 18 по 26, но по какой-то причине в API 27 создаются только 2 такта CountdownTimer, я также проверил, что это не ошибка showtoast, просто программа решает, что достаточно только 2 тактов,

Есть идеи о том, что происходит в этом API? Или это ошибка эмулятора?

0 ответов

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