Всплывающее сообщение, формируемое 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Январь 18, 2025 г.
На Java этот трюк хорошо обкатан, IDE Android Studio по одному клику вставляет шаблон для реализации кода выбранного интерфейса. На kotlin это работает ...
Читать
Февраль 9, 2025 г.
Куча готовых решений в сети, но почему то ничего не работает. Пришлось исследовать этот вопрос. Оказалось, что gradle.kts это тоже kotlin скрипт, который выполняется каждый раз при сборке проекта.
И задача состоит в том, чтобы увеличивать версию ...
Читать
Февраль 22, 2025 г.
В случаях когда один тип LiveData требуется преобразовать в другой, используют медиаторы.
Этот класс является частью пакета androidx.lifecycle.
Например, у нас есть тип LiveData<List<T>> а мы хотим преобразовать его к LiveData<List<V>>, ...
Читать
Январь 21, 2025 г.
Если вы переходите с java на kotlin, то у вас часто возникают вопросы вроде - как сделать на kotlin то, что вы делали на java вот так и так.
В java вызов перегруженного конструктора в другом конструкторе класса выглядит следующим образом. Представим, ...
Читать