Android Toast适用于模拟器但不适用于我的设备

时间:2012-09-08 01:02:18

标签: android

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

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

在模拟器中运行时,它们几乎总是显示出来。它们没有显示的唯一时间是我正在调试并花费很长时间来完成代码。

当我在我的设备上安装应用程序时,没有任何Toasts工作。起初我没有注意到,但我意识到我从未在设备上看到它们弹出。这是Toasts如何运作的?

编辑: 我尝试了这两种选择: 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)。

2 个答案:

答案 0 :(得分:10)

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

希望这会帮助其他一些可怜的灵魂不花一个下午的时间找到答案。

答案 1 :(得分:0)

你写给toast的行是100%正确的,吐司应该出现。它没有错误。

问题就在于,你在哪里写下这些行.. !!


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

但是,虽然可能会有猜测问题,

  1. 您已将Toast置于某个if..else状态但未成真

  2. Toast代码中执行控件未执行的部分

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

  4. 只需检查一下,将Toast替换为Log,看看会发生什么。