2014-01-23 42 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");

现在你可以关闭它不会显示空指针。

相关问题