Android: сниппет для тостов

Toast прекрасный способ оповестить пользователя о чем то, не блокируя интерфейс. У них можно завадать отзывы, показывать в разных местах и даже делать кастомные view и все это с помощью fluent interface. Уверен, что читатели если и слышали о таких расширенных возможностях, то никогда не пользовались этим. Самый стандартный юзкейс - показать текст.

По моему опыту часто нужно показать toast как результат не успешной процедуры, которая обычно выполняется в фоне в отдельном треде или воркере, т.е. не в UI. А для этого приходится писать лапшу только для того, Toast.makeText(...).show() выполнился в UI треде.

Для этого набросал сниппет, который уменьшит количество кода и ошибки, связанные с вызовом тоста из нетого потока и банальному забыванию метода show().

Было

Toast.makeText(this,
getText(R.string.messages_storage_invalid),
Toast.LENGTH_SHORT).show();

Стало

toastShort(R.string.messages_storage_invalid);

Причем метод можно вызывать из любого потока. Показыватся тост будет из UI треда через runnable

Read more