在Handler消息中声明一个toast

时间:2012-09-13 12:02:26

标签: android toast

是否可以从处理程序中调用Toast?如果是这样,怎么样?我当前的代码正在生成NullPointer异常。

这是我的代码:

Handler messageHandler = new Handler() {

    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        Toast toast=Toast.makeText(getApplicationContext(),"THIS IS TOAST DIALOG",Toast.LENGTH_LONG);
        toast.show();
        prgBar.setVisibility(prgBar.INVISIBLE);
       }
};

我的日志报告:

09-13 18:18:51.493: E/AndroidRuntime(1727): FATAL EXCEPTION: main

09-13 18:18:51.493: E/AndroidRuntime(1727): java.lang.NullPointerException

09-13 18:18:51.493: E/AndroidRuntime(1727): at    android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:100)

09-13 18:18:51.493: E/AndroidRuntime(1727): at com.example.threadingexperiment.ThreadingExperiment$1.handleMessage(ThreadingExperiment.java:46)

在线显示错误:

Toast toast=Toast.makeText(getApplicationContext(),"THIS IS TOAST DIALOG",Toast.LENGTH_LONG);

1 个答案:

答案 0 :(得分:0)

我认为你无法从你的处理程序到达ApplicationContext。

您应该使用此处理程序所在的Activity中的Context。