如何更新Toast值?

时间:2016-06-28 22:13:10

标签: android toast

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

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

并在我需要内部代码时更新其值。像这样:

mToast.setText("Hello!");

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

为什么会发生这种情况的任何线索?

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

如果在实例化Toast时应用程序崩溃,则可能是构造函数中的错误上下文。 你在哪里宣布它?一定要得到真实的背景。

您无法更新Toast for real,但您可以隐藏Toast并制作新的Toast。 使用mToast.cancel();删除你的Toast,然后

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