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

时间:2012-06-04 08:45:40

标签: android toast

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

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

我该怎么做?

4 个答案:

答案 0 :(得分:6)

您可以随时cancel a Toast object

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对象。

答案 1 :(得分:3)

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

答案 2 :(得分:2)

取消原始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!.
}

答案 3 :(得分:1)

您可以在显示旁边的toastr。

之前使用toastr.cancel()