Android 如何在Toast通知';正在展示什么?
我试图创建一个toast,其值应该反映一个数字,并且应该在toast仍然显示时动态更改。我不想为价值的每一次变化都创造新的祝酒词。对值的更改应反映在现有显示的toast本身中。这可能吗?如果可能的话,我应该怎么做呢?您可以保存从中获得的Toast实例,并使用它进行更新 已更新 代码:Android 如何在Toast通知';正在展示什么?,android,toast,Android,Toast,我试图创建一个toast,其值应该反映一个数字,并且应该在toast仍然显示时动态更改。我不想为价值的每一次变化都创造新的祝酒词。对值的更改应反映在现有显示的toast本身中。这可能吗?如果可能的话,我应该怎么做呢?您可以保存从中获得的Toast实例,并使用它进行更新 已更新 代码: 这些其他的答案对我不起作用。也许是奥利奥。 这是人们正在寻找的。在任何情况下都应该有效 编辑:需要澄清的是,只有在持续时间允许的情况下,才会显示原始toast。完成toast长度后,如果不重新实例化,就无法对其调用
这些其他的答案对我不起作用。也许是奥利奥。 这是人们正在寻找的。在任何情况下都应该有效 编辑:需要澄清的是,只有在持续时间允许的情况下,才会显示原始toast。完成toast长度后,如果不重新实例化,就无法对其调用show()
private Toast mToast;
protected void showToast(int value) {
if (mToast == null) {
mToast = Toast.makeText(context, "", Toast.LENGTH_SHORT);
} else {
mToast.cancel();
mToast = Toast.makeText(context, "", Toast.LENGTH_SHORT);
}
mToast.setText("Shutdown in "+value+" seconds");
mToast.show();
}
你试过使用变量或其他什么吗?@MehulJoisar,我试过了,但一旦显示了toast,即使变量的值发生了变化,其中的文本也不会更新。@DebojeetChatterjee:好的。似乎你必须创建一些自定义布局或自定义吐司本身。似乎它不起作用。每次我使用setText时,都会重新绘制吐司。你能建议其他的方法吗?但是什么不起作用?要在Toast中显示新文本,它应该重画。重画是指现有的Toast退出并弹出一个新的Toast。我想更新我在屏幕上看到的已经存在的toast。然后你做错了什么,我提供了有效的示例代码,并且更新了现有的toast。显然,问题是我在手机上使用XUIMod调整toast入口和出口动画。因此,每次调用show()时,它都会使用退出和进入动画重新绘制土司。禁用调整修复了它。谢谢
private Toast mToast;
protected void showToast(int value) {
if (mToast == null) {
mToast = Toast.makeText(context, "", Toast.LENGTH_SHORT);
} else {
mToast.cancel();
mToast = Toast.makeText(context, "", Toast.LENGTH_SHORT);
}
mToast.setText("Shutdown in "+value+" seconds");
mToast.show();
}