Всплывающее сообщение, формируемое 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Февраль 13, 2025 г.
Небольшой гайд по работе с фрагментами в android studio.
Фрагменты чем то напоминают фреймы в html. Фрагменты обладают многими возможностями, которые есть у активити (Activity), имеют свой lifecycle, также работают с viewModel и т.п. И конечно же фрагмент ...
Читать
Февраль 17, 2025 г.
Распространенная задача - при создании viewModel требуется передать параметры из активити или фрагмента.
ViewModel используется для хранения состояния данных экрана, отвечая только за т.н. бизнес логику. Жизненный цикл этого компонента не зависит ...
Читать
Январь 29, 2025 г.
Для списка есть класс ItemTouchHelper, который реализует свайпы для элементов списка, а хотелось бы получить реализацию этого жеста для любого элемента View.
Как это должно работать
Это должна быть довольно простая вещь, основанная на обработке ...
Читать
Февраль 25, 2025 г.
Рассмотрим использование двух паттернов программирования в kotlin - singleton и doublecheck.
У нас есть пример кода, где экземпляр класса получается как singleton. Для асинхронного вызова функции используется блок синхронизации.
[crayon-6946a0804b560818448470/] ...
Читать