Страницы

Поиск по вопросам

вторник, 8 января 2019 г.

Запретить создавать новый Toast, если он уже отображается на экране

Вопрос совсем простой. Как контролировать кол-во выводов Toast.makeText?
Вчера тестировал свое приложение на группе студентов. Один из них воспроизвел странный для меня баг. Он нажал на кнопку много-много раз с его слов, после чего Toast.maketText в прямом смысле зациклился в стал выводить сообщение, даже после закрытия приложения. Как думаете, он просто забил очередь? И как можно обработать подобный случай?
Спасибо=)


Ответ

Можно сделать заплатку:
toastLenght = 2000 (для Toast.LENGTH_SHORT) или 3500 (для Toast.LENGTH_LONG);
if(!isToast) { Toast.makeText(...); isToast = true; new Handler().postDelayed(new Runnable() { @Override public void run() { isToast = false; } }, toastLenght); }

Комментариев нет:

Отправить комментарий