1

我在我的应用程序的几个地方使用此代码:

Toast.makeText(getApplicationContext(), "toast", Toast.LENGTH_SHORT).show();

在模拟器中运行时,它们几乎总是显示。他们没有显示的唯一时间是我正在调试并且需要很长时间才能逐步完成代码。

当我在我的设备上安装应用程序时,没有一个 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)上没有。

4

2 回答 2

10

我遇到了这个问题,发现我在设备设置中将我的应用程序设置为不显示任何通知。在我允许设备设置下的通知后,一切正常。

希望这将帮助其他一些可怜的灵魂不要花一个下午来寻找答案。

于 2013-02-17T16:15:45.217 回答
0

您为显示 Toast 而写的那行是 100% 正确的,应该会出现 toast。它没有错误。

问题就在你写那些行的地方..!!


要了解实际问题,您需要检查debug整个代码。

但是在猜测可能存在的问题时,

  1. 你已经把你Toast置于某种if..else不真实的状态

  2. Toast执行控制不去的代码部分

  3. String 附加Toast字符串的变量,这些变量null

  4. 只是为了检查,替换你ToastLog,看看会发生什么。

于 2012-09-08T07:07:50.103 回答