Android CountDownTimer выполняет только 2 onTick в эмуляторе с Android API 27 - PullRequest
0 голосов
/ 31 августа 2018

У меня есть следующий код для более длинного сообщения Toast:

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? Или это ошибка эмулятора?

...