停止Toast并在android 中启动另一个

我在我的应用程序中使用Toast。 当我按下按钮时,它显示一个Toast。 我的问题是,第二次按下按钮时,第二次吐司正在“等待”第一次结束并且仅显示结束..我希望当前的立即显示而不是等待。 这是我的简单代码:

toast = Toast.makeText(getApplicationContext(), "Press Back to retorn to the main page", Toast.LENGTH_SHORT); toast.show(); 

我怎样才能做到这一点?

在https://stackoverflow.com/a/4485531/517561中 ,作者没有取消吐司,他们只是改变了它的文本。

您始终可以取消Toast对象 。

 final Toast tst = Toast.makeText(ctx, "This is a toast.", Toast.LENGTH_SHORT); tst.show(); Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { tst.cancel(); tst.setText("Same toast with another message."); tst.show(); } }, 1000); 

因此,您可以使用第一个Toast对象,取消它,设置新文本并再次显示,而不是创建另一个Toast对象。

取消原始Toast ,设置新消息并再次显示Toast消息。

 Toast mytoast; mytoast = Toast.makeText(this, "Hi Ho Jorgesys! ", Toast.LENGTH_LONG); mytoast.show(); .... .... .... if(CancelToast){ mytoast.cancel(); //cancelling old Toast! mytoast = Toast.makeText(this, "Same toast with another message.", Toast.LENGTH_LONG); //Setting a new message. mytoast.show(); //Show the new message!. } 

您可以使用toast.cancel()来显示下一个toast。