【发布时间】:2012-09-08 01:02:18
【问题描述】:
我在我的应用程序的几个地方使用了这段代码:
Toast.makeText(getApplicationContext(), "toast", Toast.LENGTH_SHORT).show();
在模拟器中运行时,它们几乎总是显示。唯一没有显示的情况是我在调试时需要很长时间才能单步执行代码。
当我在我的设备上安装应用程序时,所有 Toast 都不起作用。起初我没有注意到,但我意识到我从来没有见过它们在我的设备上弹出。 Toast 是这样工作的吗?
编辑: 我尝试了这两种选择: Toast.makeText(this, "toast", Toast.LENGTH_SHORT).show(); Toast.makeText(ActivityName.this, "toast", Toast.LENGTH_SHORT).show();
这些都不起作用。所有 toast 都可以在模拟器(2.2、2.3、4.1)中运行,但在我的设备(Galaxy Nexus 4.1)上都没有。
【问题讨论】:
-
Toast通知肯定会出现在设备上。首先想到的是我听说getApplicationContext()可能有点阴暗。如果可能的话,也许尝试使用任何已知View中的.getContext()。另外,您是否从其他应用程序中看到Toasts? (想不出一个地方来检查他们的头顶......) -
ActivityName.this 而不是 getAppliationContext()
-
当我尝试在按钮单击上显示 toast 时,我将代码更改为 view.getContext()。这仍然适用于我的模拟器,但不适用于我的设备。我也尝试过 ActivityName.this 并且它也可以在模拟器中工作,但不能在我的设备上工作。我注意到其他设备确实显示吐司,所以我想知道我的设备是否是问题而不是代码。
标签: android