Всплывающее сообщение, формируемое 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 скрипт, который выполняется каждый раз при сборке проекта.
И задача состоит в том, чтобы увеличивать версию ...
Читать
Февраль 11, 2025 г.
Данная ошибка при работе c Room обычно связана с неполным или неверным описанием в gradle файлах, связанных с обработчиком аннотаций. Т.е. суть ошибки в том, что он просто не может прочитать аннотации, которые вы сделали к классу базы данных, и по умолчанию ...
Читать
Январь 23, 2025 г.
Для чтения данных из интернет есть множество библиотек и классов, потому не стоит делать так, как это описано ниже в статье. Я буду использовать базовые библиотеки, и будет много кода (kotlin).
Задача - есть BASE_URL, надо прочитать текстовые данные. ...
Читать
Февраль 25, 2025 г.
Рассмотрим использование двух паттернов программирования в kotlin - singleton и doublecheck.
У нас есть пример кода, где экземпляр класса получается как singleton. Для асинхронного вызова функции используется блок синхронизации.
[crayon-69e986d0a295c191068006/] ...
Читать