gpt4 book ai didi

android - 当我想展示另一个 Toast 时,我可以取消之前的 Toast 吗?

转载 作者:IT老高 更新时间:2023-10-28 21:50:48 26 4
gpt4 key购买 nike

在我的应用程序中,我为我的 Activity 构建了一个日历小部件,当我将其滚动到上个月或下个月时,我让它 toast 并显示它。

问题是, toast 需要时间来显示,当我滚动它的速度足够快时,例如,我滚动到“2012/05”和“2012/06”并且没有暂停滚动到“2012/07”,我还得等“2012/05”、“2012/06”、“2012/07”的Toast慢慢地一一显示。

似乎 Android 有一个不可见的队列来管理 toasts

如何清理它并只显示最后一个 toast ?我可以不等待就立即显示特定的 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();

最佳答案

你只需要像这样声明一个“Toast”变量:

Toast toastMessage;

然后在你的函数中,这样做:

if (toastMessage!= null) {
toastMessage.cancel();
}
toastMessage= Toast.makeText(context, "The message you want to display", duration);
toastMessage.show();

关于android - 当我想展示另一个 Toast 时,我可以取消之前的 Toast 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10070108/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com