0

是否可以从处理程序中调用 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);
4

1 回答 1

0

我认为您无法从处理程序访问 ApplicationContext。

您应该使用此处理程序所在的 Activity 的上下文。

于 2012-09-13T13:23:03.123 回答