2014-01-23 68 views
1

我在解散進度對話框時出現隨機崩潰。我的代碼是:當ProgressDialog解僱方法被調用時出現NullPointerException android

if(progressdialog != null && progressdialog.isShowing()) 
{ 
    progressdialog.dismiss(); 
} 

我得到NullPointerException progressdialog.dismiss()。通過空檢查後可能如何?

這裏是崩潰日誌

java.lang.NullPointerException 
at com.ebooks.android.Category_Author_Listing$1.handleMessage(Author_Listing.java:1325) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:5103) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:525) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
at dalvik.system.NativeStart.main(Native Method) 
+3

你能展示更多的代碼和你的崩潰日誌嗎?您發佈的代碼段中的 –

+0

是不可能的。 – Blackbelt

+0

顯示您的代碼,以便我們可以檢查 –

回答

1

這可能是因爲Android的UI組件不是線程安全的,我想你已經聲明的變量的OnCreate前,然後用.show內部調用後的OnCreate初始化的OnCreate或任何方法。

解決方法就是使用

progressDialog =ProgressDialog.show(MainActivity.this,"title","message");

現在你可以關閉它不會顯示空指針。

相關問題