11

Toast当某个动作发生时,我的应用程序会显示一个。但是,如果其中两个动作发生在附近,我想放弃显示第一个Toast,而只显示第二个。我以为Toast.cancel()可以解决问题,但它所做的只是隐藏了第一个吐司;第二个仅在第一个完成显示之后才显示。

示例代码:

Toast toast1 = Toast.makeText(parentActivity, "Test1", Toast.LENGTH_SHORT);
Toast toast2 = Toast.makeText(parentActivity, "Test2", Toast.LENGTH_SHORT);

toast1.show();
toast2.show();

toast1.cancel();

第二个Toast仅在等待片刻后才出现(短持续时间的长度)。即使我打电话,这实际上也会发生toast2.cancel()

4

2 回答 2

1

Toast.makeText(context, text, duration)返回一个Toast对象。在这个对象上调用cancel()方法来取消它。

例子:

Toast mToastText = Toast.makeText(getApplicationContext(), "Hello StackOverFlow!", Toast.LENGTH_SHORT);
 mToastText.cancel();
于 2013-09-03T16:18:38.657 回答
1

我不确定这是否可行,但也许尝试取消它们,然后再次显示第二个。

于 2011-02-01T21:27:41.833 回答