2016-06-06 2 views
0

Android에서 간단한 CRUD 애플리케이션을 만들려고합니다.ProgressDialog로 인해 Android에서 충돌이 발생합니다.

로그인 할 때마다 응용 프로그램이 충돌하지만 내부적으로 로그인합니다. 로그 아웃하면 동일한 문제가 발생합니다. progressDialog.dismiss()에 오류가 발생합니다. 여기

은 AsyncTask를 클래스의 코드입니다 :

@Override 
protected void onPreExecute(){ 
    super.onPreExecute(); 
    path = ctx.getString(R.string.url); 
    progressDialog = new ProgressDialog(ctx); 
    progressDialog.setTitle("Signing In"); 
    progressDialog.setMessage("Validating your credentials!"); 
    //progressDialog.setCancelable(false); 
    progressDialog.show(); 
} 

그리고 여기 onPostExecute 방법에 내 코드입니다 :

@Override 
protected void onPostExecute(String result){ 
    super.onPostExecute(result); 
    if(progressDialog!=null){ 
     if(progressDialog.isShowing()){ 
      progressDialog.dismiss(); 
     } 
     progressDialog = null; 
    } 
    //some more code 
} 

내가 progressDialog.show() 라인과 IllegalArgumentException 오류에에서 창 누출 오류를 받고 있어요 progressDialog.dismiss() 행.

여기 내 활동 로그입니다 :

그것은 당신이 대화를 해제하기 전에 파괴하여해서 ProgressDialog를 표시하고있는 활동/조각처럼 보이는
06-07 02:14:11.155 1828-1828/com.example.thadaninilesh.productapp E/WindowManager: android.view.WindowLeaked: Activity com.example.thadaninilesh.productapp.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{2b714c45 V.E..... R......D 0,0-959,322} that was originally added here 
                        at android.view.ViewRootImpl.<init>(ViewRootImpl.java:363) 
                        at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:271) 
                        at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85) 
                        at android.app.Dialog.show(Dialog.java:298) 
                        at com.example.thadaninilesh.productapp.BackgroundUserLogoutTask.onPreExecute(BackgroundUserLogoutTask.java:56) 
                        at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:591) 
                        at android.os.AsyncTask.execute(AsyncTask.java:539) 
                        at com.example.thadaninilesh.productapp.DashboardFragment$4.onClick(DashboardFragment.java:61) 
                        at android.view.View.performClick(View.java:4780) 
                        at android.view.View$PerformClick.run(View.java:19866) 
                        at android.os.Handler.handleCallback(Handler.java:739) 
                        at android.os.Handler.dispatchMessage(Handler.java:95) 
                        at android.os.Looper.loop(Looper.java:135) 
                        at android.app.ActivityThread.main(ActivityThread.java:5254) 
                        at java.lang.reflect.Method.invoke(Native Method) 
                        at java.lang.reflect.Method.invoke(Method.java:372) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

06-07 02:14:12.447 1828-1828/com.example.thadaninilesh.productapp E/AndroidRuntime: FATAL EXCEPTION: main 
                       Process: com.example.thadaninilesh.productapp, PID: 1828 
                       java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView{2b714c45 V.E..... R......D 0,0-959,322} not attached to window manager 
                        at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:396) 
                        at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:322) 
                        at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:116) 
                        at android.app.Dialog.dismissDialog(Dialog.java:341) 
                        at android.app.Dialog.dismiss(Dialog.java:324) 
                        at com.example.thadaninilesh.productapp.BackgroundUserLogoutTask.onPostExecute(BackgroundUserLogoutTask.java:117) 
                        at com.example.thadaninilesh.productapp.BackgroundUserLogoutTask.onPostExecute(BackgroundUserLogoutTask.java:35) 
                        at android.os.AsyncTask.finish(AsyncTask.java:636) 
                        at android.os.AsyncTask.access$500(AsyncTask.java:177) 
                        at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:653) 
                        at android.os.Handler.dispatchMessage(Handler.java:102) 
                        at android.os.Looper.loop(Looper.java:135) 
                        at android.app.ActivityThread.main(ActivityThread.java:5254) 
                        at java.lang.reflect.Method.invoke(Native Method) 
                        at java.lang.reflect.Method.invoke(Method.java:372) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
+0

전체 오류 로그를 게시하십시오. – Rohit5k2

+0

전체 활동 기록으로 내 질문을 업데이트했습니다 ... 가능하면 도와주세요. –

답변

0

. 따라서 충돌이 발생합니다

IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView not attached to window manager 

따라서 작업을 완료하기 전에 진행 대화 상자를 닫으십시오.

+0

도움 주셔서 감사합니다. –

관련 문제