Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
停止敬酒,在android中开始另一个_Android_Toast - Fatal编程技术网

停止敬酒,在android中开始另一个

停止敬酒,在android中开始另一个,android,toast,Android,Toast,我正在我的应用程序中使用Toast。当我按下按钮时,它会显示一个祝酒词。我的问题是,当我第二次按下按钮时,第二个祝酒词正在“等待”第一个祝酒词的结束,而且只是比它显示的要多。。我希望当前的一个立即显示,而不是等待。 这是我的简单代码: toast = Toast.makeText(getApplicationContext(), "Press Back to retorn to the main page", Toast.LENGTH_SHORT); toast.show(); 我该怎么做呢?

我正在我的应用程序中使用Toast。当我按下按钮时,它会显示一个祝酒词。我的问题是,当我第二次按下按钮时,第二个祝酒词正在“等待”第一个祝酒词的结束,而且只是比它显示的要多。。我希望当前的一个立即显示,而不是等待。 这是我的简单代码:

toast = Toast.makeText(getApplicationContext(), "Press Back to retorn to the main page", Toast.LENGTH_SHORT);
toast.show();
我该怎么做呢?

你随时都可以


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

您可以在显示下一个Toast之前使用Toast.cancel()。

在中,编写者没有取消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!.
}

甚至连一个很好的解决办法都没有@AlexanderPavlov不,不是。在新的Toast上调用show()之前,您是否尝试使用可见Toast的setDuration?我不知道它是否有效,但这是我看到的唯一可行的解决方法。只有两种选择。。。长或短。取消并不会减少祝酒时间。它不起作用……它起作用了。您需要对toast对象本身调用cancel。但之后不能再显示另一个。请参阅我的更新答案。这对我很有效。取消不会减少祝酒时间。谢谢Kazekagebut,但根据定义,如果正在显示,请关闭视图,如果尚未显示,请不要显示。通常情况下,您不必将其称为。通常情况下,视图会在适当的持续时间后自行消失。public void cancel()因为:API级别1在视图显示时关闭视图,或者在视图尚未显示时不显示视图。通常情况下,您不必将其称为。正常情况下,视图会在适当的持续时间后自动消失。无论您是否取消第一个吐司,其他吐司都会在它应该等待的固定时间之后出现!取消
敬酒
非常有效,如果操作正确,绝对可以缩短敬酒时间。检查示例代码,或者链接到github,然后复制要点。到目前为止,代码已经进行了几年的生产测试。
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!.
}