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();
}

しかし、なぜそれがnullになっているのかを理解する必要があります

于 2012-06-28T11:22:36.533 に答える
0

Dheeresh Singh のコメントの後、行を確認したところ、古いバージョンのアプリからのエラー ログが表示されていることに気付きました。新しいバージョンがあるときにユーザーに更新を強制していますが、何人かのユーザーはそれをバイパスしています。お手数をおかけして申し訳ありません。

もう少し時間をかけて詳細を確認するべきでした。

于 2012-06-28T12:07:24.957 に答える