Могу ли я отменить предыдущее всплывающее уведомление, если я хочу показать другое всплывающее уведомление?

В своем приложении я создаю виджет календаря для своей активности, когда я прокручиваю его до предыдущего или следующего месяца, я позволяю ему сделать тост и показать его.

Вопрос в том, что тосту нужно время, чтобы показать, когда я прокручиваю его достаточно быстро, например, я прокрутил до «2012/05» и «2012/06» и прокрутил до «2012/07» без паузы, я нужно подождать, чтобы тосты «2012/05», «2012/06», «2012/07» медленно показывались один за другим.

Кажется, в Android есть невидимая очередь для управления всплывающими уведомлениями

как ее очистить и показывать только последнее всплывающее уведомление? Могу ли я показать конкретный Toast сразу, не дожидаясь?

Я искал "android.widget.Toast.java"и нашел метод cancel(), но, к сожалению, он не работает следующим образом.

if (t != null) {
    t.cancel();
}
t = Toast.makeText(this.mContext, mHelper.getYear() + "年"
                + (mHelper.getMonth() + 1) + "月", Toast.LENGTH_SHORT);
t.show();
30
задан Neeraj Sewani 23 September 2018 в 11:36
поделиться