Всплывающее сообщение, формируемое Toast, обычно используют в стиле — создал — показал — забыл. Если сообщений много, то они ждут своей очереди, чтобы быть показанными.
Но когда ситуация меняется быстро в приложении, то сообщения могут просто не успевать за динамикой, и пользователь будет дезориентирован текущим сообщением, тогда так актуальная подсказка высветится еще не скоро.
В таких случаях стоит организовать вывод Toast через единую переменную, которая устанавливается централизованно через одну и ту же вспомогательную функцию.
В рамках активити это может выглядеть вот так:
|
private var currentToast: Toast? = null private fun showToast(message: String, type: Int) { currentToast?.cancel() currentToast = Toast.makeText(this, message, type) currentToast?.show() } |
Мы отменяем ранее созданный Toast, а затем выводим свежий.
Данная запись опубликована в 08.02.2025 00:33 и размещена в рубрике Kotlin.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Февраль 9, 2025 г.
Куча готовых решений в сети, но почему то ничего не работает. Пришлось исследовать этот вопрос. Оказалось, что gradle.kts это тоже kotlin скрипт, который выполняется каждый раз при сборке проекта.
И задача состоит в том, чтобы увеличивать версию ...
Читать
Февраль 15, 2025 г.
Иногда на собесах спрашивают что такое view binding, и звучит это как некая сложная тема, но на самом деле, это просто фича сборщика, которую можно использовать для упрощения доступа к элементам шаблонов.
Этот механизм упрощает работу с элементами ...
Читать
Февраль 6, 2025 г.
Если вы используете, к примеру, RecyclerView компонент внутри ScrollView layout, то могут возникнуть коллизии, связанные с тем, что оба элемента пытаются обработать прокрутку.
Вот типичные варианты решения.
Отключение прокрутки в RecyclerView ...
Читать
Февраль 25, 2025 г.
Рассмотрим использование двух паттернов программирования в kotlin - singleton и doublecheck.
У нас есть пример кода, где экземпляр класса получается как singleton. Для асинхронного вызова функции используется блок синхронизации.
[crayon-6895eb8ce4e50735267421/] ...
Читать