3

我的活动中有一个按钮。如果我点击显示 Toast。但是当我再次单击 Toast 时再次显示。所以结果当我点击很多次时,这个 Toast 会出现很长时间。当第一次消失时,下一个正在显示等等。当我再次单击按钮时我该怎么办,第一个 toast 将被隐藏。

4

2 回答 2

5

如果已经显示,则调用cancel()方法隐藏 Toast。

看看这个 API。

这可以简单地在 Toast 的对象上调用。

Toast toast = new Toast(context);

toast.setText("Text");
toast.show();//(call show()  to display Toast)
toast.cancel();//(call cancel() to  hide Toast).
于 2012-04-23T10:56:56.143 回答
3

将此代码添加到您的活动(全局吐司)中,并在您想显示新文本时取消它。

Toast myLovelyToastThatNeverDies;
public void onClick(View v) {

    if(myLovelyToastThatNeverDies==null)
        myLovelyToastThatNeverDies = new Toast(Activity.this);
    else
        myLovelyToastThatNeverDies.cancel();
    myLovelyToastThatNeverDies.setText("my new text");
    myLovelyToastThatNeverDies.setDuration(anAverageDuration);
    myLovelyToastThatNeverDies.show();
}
于 2012-04-23T11:33:27.817 回答