0

错误:

    java.lang.NullPointerException
    at com.lala.Home.hideLoadinganimation(Home.java:969)
    at com.lala.Home.access$4(Home.java:967)
    at com.lala.Home$17.onFinish(Home.java:892)
    at com.loopj.android.http.AsyncHttpResponseHandler.handleMessage   (AsyncHttpResponseHandler.java:180)
    at com.loopj.android.http.AsyncHttpResponseHandler$1.handleMessage(AsyncHttpResponseHandler.java:86)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:130)
    at android.app.ActivityThread.main(ActivityThread.java:3687)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
    at dalvik.system.NativeStart.main(Native Method)

我知道为什么会发生这种情况,就像我的应用程序完成从服务器加载数据并即将隐藏进度对话框一样,用户以某种方式隐藏/退出或转到其他应用程序。

我试图在下面的块中抓住它,但它不起作用。我错过了什么?

   private void hideLoadinganimation(boolean asDialog) {
    try {
        if (asDialog) {
            try {
                pDialog.dismiss();
            } catch (Exception e) {
                e.printStackTrace();
                // again, sometimes pDialog is null. I have no idea why as I
                // can't reproduce it.
            }
        } else {
            switcher.showPrevious();
        }
    } catch (Exception ee) {
        ee.printStackTrace();
    }
}
4

3 回答 3

1

我认为你pDialog是空的。

尝试

if(null!=pDialog && pDialog.isshowing()){

      pDialog.dismiss();

}
于 2012-06-28T11:22:02.113 回答
1

改变

  pDialog.dismiss();

if(pDialog!=null)
{
  pDialog.dismiss();
}

但是您需要弄清楚为什么它会变为空

于 2012-06-28T11:22:36.533 回答
0

在 Dheeresh Singh 发表评论后,我去检查该行并注意到错误日志来自该应用程序的旧版本。虽然我在有新版本时强制用户更新,但有几个用户如何绕过它。很抱歉给您带来麻烦。

我应该花更多时间在上面并检查详细信息。

于 2012-06-28T12:07:24.957 回答