как отключить очередь из Toast.makeText - java

186
17 августа 2021, 09:00

Как сделать чтобы при нажатии на кнопку в которой код.

Toast.makeText(MainActivity.this, "Text", Toast.LENGTH_SHORT).show();

Не создавалась очередь из нажатий а просто выводилось один раз ?

Answer 1

Если нужно чтобы тост был показан только один раз:

private boolean alreadyShown = false;
public void onClick (View v) {
    if (!alreadyShown) {
        Toast.makeText(MainActivity.this, "Text", Toast.LENGTH_SHORT).show();
        alreadyShown = true;
    }
}
Answer 2

Создавать объект тоста только один раз:

private Toast mMyToast; //
...
    if (mMyToast == null) {
        mMyToast = Toast.makeText(MainActivity.this, "", Toast.LENGTH_SHORT);
    }
    mMyToast.setText("Text"); // Обновляем текст тоста
    mMyToast.show(); // Показываем тост, а если он показывается то просто продлевается время показа
Answer 3

Если нужно чтобы новый тост не создавался, пока виден предыдущий:

private boolean alreadyShown = false;
public void onClick (View v) {
    if (!alreadyShown) {
        Toast.makeText(MainActivity.this, "Text", Toast.LENGTH_SHORT).show();
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                alreadyShown = false;
            }
        }, Toast.LENGTH_SHORT);
        alreadyShown = true;
    }
}
READ ALSO
Regex - выцепить комплексное число

Regex - выцепить комплексное число

Задан шаблон комплексного числа в виде шаблона {real, image}, например:

347
Как можно реализовать закрытие текущей вкладки спустя 3 секунды после входа на страницу?

Как можно реализовать закрытие текущей вкладки спустя 3 секунды после входа на страницу?

Как можно реализовать закрытие текущей вкладки (страницы) спустя 3 секунды после входа на страницу?

172
Vue: Не работает геттер с find во vuex

Vue: Не работает геттер с find во vuex

Всем привет, просто тренируюсь во vueСтолкнулся со странным поведением геттера во vuex - если применить в нём метод find для массива, код отказывается...

297
Почему key в React нужен только в перечислениях?

Почему key в React нужен только в перечислениях?

Была поставлена задача реализовать свою JSX factoryИз документации React мы знаем, что JSX транспилируется в вызов функции React

142