如何更新Toast值



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

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

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

mToast.setText("Hello!");

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

知道为什么会这样吗?

如果应用程序在你实例化Toast时崩溃,可能是因为构造函数中的上下文错误。你在哪里申报?请务必了解你的真实背景。

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

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

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

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();

它适用于我,所以请提供您得到的任何错误信息:)

相关内容

  • 没有找到相关文章

最新更新