gpt4 book ai didi

java - 在显示新的 Toast 之前取消之前显示的 Toast

转载 作者:行者123 更新时间:2023-12-01 21:59:15 28 4
gpt4 key购买 nike

我有一个附加到按钮的函数,按下该按钮将从数组列表中删除一个项目,然后显示一个提示“项目已删除!”。如果我多次按下删除按钮,那么所有的 toast 都会显示出来,使其看起来像一个非常长的 toast 显示。我想每次在显示新的 toast 之前取消 toast。我就是这样展示我的 toast

public void removeItem(View view)
{
Toast.makeText(getApplicationContext(),"Text",toast.LENGTH_LONG).show();
}

现在我正在尝试创建一个 toast 对象,取消它,设置文本,然后每次按下按钮时显示它。这样之前的toast就被取消了。不确定这是否是正确的方法。

public void removeItem(View view)
{
Toast toast = Toast.makeText(this,"",Toast.LENGTH_SHORT);
toast.cancel();
toast.setText("Text");
toast.show();
}

这最终什么也没显示。有什么帮助吗?

最佳答案

您给定的示例不起作用,因为您正在新创建的 Toast 对象实例上调用 cancel() 。您必须以某种方式保留对当前显示的 Toast 的引用,并在再次显示之前取消它。

Toast mMyToast // declared within the activity class
public void removeItem(View view)
{
if(mMyToast!=null) mMyToast.cancel() // Avoid null pointer exceptions!
mMyToast = Toast.makeText(this,"Text",Toast.LENGTH_SHORT);
mMyToast.show();
}

关于java - 在显示新的 Toast 之前取消之前显示的 Toast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33878382/

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