如何更新 Toast 值?

How to update Toast value?

我正在尝试更新代码中不同实例的 toast 值。 我试图像这样实例化一个对象:

 Toast mToast = Toast.makeText(this,"",Toast.LENGTH_SHORT);

并在我的代码中需要时更新它的值。像这样:

mToast.setText("Hello!");

初始实例化似乎使我的代码崩溃。

有任何线索说明为什么会发生这种情况吗?

您应该创建一个接收字符串消息并显示它的函数。

public void showToast(String message) {

    Toast.makeText(this, message, Toast.LENGTH_LONG).show();

}

然后随心所欲地调用它:

showToast("My message");

编辑

要在显示时更新 Toast:

Toast mToast = Toast.makeText(this, "text", Toast.LENGTH_LONG).show();

//...

mToast.cancel();
mToast.setText("Updated text");
mToast.show();

它对我有用,所以请提供您收到的任何错误消息:)

如果应用程序在您实例化 Toast 时崩溃,可能是因为构造函数中的上下文错误。 你在哪里声明它?一定要了解你的真实背景。

你不能真正更新Toast,但你可以隐藏toast并制作一个新的。 使用 mToast.cancel(); 删除 Toast,然后使用

mToast.setText("New text");
mToast.show();