Home » Android » Cancel a toast on Android before it appears

Cancel a toast on Android before it appears

Posted by: admin May 14, 2020 Leave a comment

Questions:

My application displays a Toast when a certain action happens. If two of these actions happen in close proximity, however, I would like to forgo displaying the first Toast, instead displaying only the second one. I thought Toast.cancel() would do the trick, but what it does is simply hide the first toast; the second one only displays after the first one would have finished displaying anyway.

Example code:

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

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

toast1.cancel();

The second Toast shows up only after waiting a short while (the length of the short duration). This in fact happens even if I call toast2.cancel().

How to&Answers:

I’m not sure this would work, but maybe try cancelling both of them and then showing the second one again.

Answer:

Toast.makeText(context, text, duration) returns a Toast object. Call cancel() method on this object to cancel it.

Example:

Toast mToastText = Toast.makeText(getApplicationContext(), "Hello StackOverFlow!", Toast.LENGTH_SHORT);
 mToastText.cancel();