У меня есть следующий код для более длинного сообщения 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? Или это ошибка эмулятора?