如何在Android上正确使用Toast通知?

时间:2011-11-29 02:05:03

标签: android notifications toast android-context

我似乎无法正确使用Toast通知。在我的所有其他应用程序中它运行良好,但在这一个它没有。在这个应用程序中,我开始使用openGL与一个名为“Beginning Android Games”的书中的框架,现在我似乎无法使用Toast通知。我不知道该怎么做......因为背景而失败了。我怎样才能创建一个有效的上下文?请帮我!这是我的代码的一部分,因为代码太长了:

private void updateReady() {
Coin.number = 0;
if (game.getInput().getTouchEvents().size() > 0) {
    state = GAME_RUNNING;
    Coin.number = 0;
    Num.number = 0;

    Toast.makeText(this, "Start!", Toast.LENGTH_SHORT).show();
    }
}

我放线时:

    Toast.makeText(this, "Start!", Toast.LENGTH_SHORT).show();

在扩展Activity并运行它的类中它只是没有做任何事情......我试图将它变成一个方法并从其他类中调用它但它有一个力量关闭......

4 个答案:

答案 0 :(得分:1)

您可以尝试使用getApplicationContext()来获取对当前Activity上下文

的引用

答案 1 :(得分:0)

您可以随时创建应用程序上下文,或者从GameScreen开始的任何活动的上下文,静态可用,或者将其作为参数传递给您创建实例的任何内容。

尽管如此,beware of memory leaks

答案 2 :(得分:0)

也许这有帮助。

我的课程定义如下

    public class tutorialThree extends Activity implements View.OnClickListener

我试图像这样使用Toast

    Toast.makeText(this, "Wallpaper set", Toast.LENGTH_SHORT).show();

没有用,因为我的类实现了接口“View.OnClickListener”(或者它是什么:) 因此toast与“this”引用相混淆,你必须更精确,所以在“this”关键字之前添加你的类的名称,如下所示:

    Toast.makeText(tutorialThree.this, "Wallpaper set", Toast.LENGTH_SHORT).show();

这解决了我的问题,现在我可以看到吐司。

答案 3 :(得分:0)

我假设你正在使用这个名为“Beginning Android Games 2”的框架。

根据此code,您需要的实例变量是glGame,它是GLGame个对象。它扩展了Activity,所以你可以这样做:

Toast.makeText(glGame, "Start!", Toast.LENGTH_SHORT).show();