NullpointerException onPostExecute -

时间:2013-07-07 18:31:28

标签: java android android-asynctask

让Async正常工作我遇到了一些麻烦。我让我的doInBackground传递一个JSON响应字符串,我的onPostExecute将解析然后发送到视图,但我一直得到我的onPostExecute的空指针。我知道它得到了正确的回复,因为我的Log打印了我期望的JSON字符串。

我没有正确传递信息吗?

这是我的堆栈跟踪:

07-07 13:26:33.757: ERROR/AndroidRuntime(5714): FATAL EXCEPTION: main
    java.lang.NullPointerException
    at com.dsgunter.randompokemongenerator.Generator$LoadPokemon.onPostExecute(Generator.java:153)
    at com.dsgunter.randompokemongenerator.Generator$LoadPokemon.onPostExecute(Generator.java:113)
    at android.os.AsyncTask.finish(AsyncTask.java:631)
    at android.os.AsyncTask.access$600(AsyncTask.java:177)
    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5021)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
    at dalvik.system.NativeStart.main(Native Method)

和我的代码,为了简洁起见,我将在一个要点中发布:

https://gist.github.com/verkaufer/88eeb44a0997a4a49779

3 个答案:

答案 0 :(得分:0)

问题发生在progressDialog.dismiss()progressDialog变量为null。你在上面的onPreExecute方法上创建了一个pDialog本地,这是我认为你真的想要解雇的。

答案 1 :(得分:0)

您的progressDialog变量看起来永远不会被初始化,因此它是null。而这一行

progressDialog.dismiss();
然后因此而抛出NPE。

答案 2 :(得分:0)

您永远不会初始化progressDialog,因此它是null。我想你想要忽略在onPreExecute中创建的对话框,所以添加这一行:

progressDialog = pDialog;