2014-01-23 2 views
1

진행률 대화 상자를 닫는 동안 임의의 충돌이 발생합니다. 내 코드 :ProgressDialog 닫기 메서드가 호출 될 때 NullPointerException이 발생합니다. android

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

progressdialog.dismiss()에서 NullPointerException이 발생합니다. 널 체크를 통과 한 후 어떻게 가능합니까?

여기에 충돌 로그에게 있습니다

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

이 수도 안드로이드 UI 구성 요소가 스레드 안전하지 않기 때문에, 나는 당신이 한 OnCreate하기 전에 변수를 선언하고 한 OnCreate 초기화 후 호출 한 OnCreate 또는 메서드 내 .show 사용했다 생각합니다.

솔루션은

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

지금 당신이 널 포인터를 표시하지 않습니다 해제 할 수 사용하는 것입니다.