5

istisna vererek ilerleme iletişim kutusu Ben bir zaman uyumsuz bir görevi kullanarak bir zaman uyumsuz bir görev kullandığım bir android uygulama geliştiriyorum bir iletişim kutusu yaklaşıyor iletişim kutusu kapatılıyor ve uygulama zorla kapanıyor. Önümüzdekiasynchtask

İstisna ise:

04-24 09:41:54.661: E/AndroidRuntime(1727): java.lang.IllegalArgumentException: View not attached to window manager 
    04-24 09:41:54.661: E/AndroidRuntime(1727):  at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:355) 

kodu:

data_insertion = new AsyncTask<Void, Void, Void>() { 
    @Override 
    protected void onPreExecute() { 
    // TODO Auto-generated method stub    
    CommonUtility.show_PDialog(MainActivity.this); 
    super.onPreExecute(); 
    } 
    @Override 
    protected void onPostExecute(Void result) { 
    // TODO Auto-generated method stub 
    //setting alaram for refresh api 
    CommonUtility.close_PDialog(); //*getting exception on this line* 
    Intent setalaram = new Intent(MainActivity.this, SetAlaram.class); 
    startService(setalaram); 
    Intent i = new Intent(MainActivity.this, PlayListActivity.class); 
    startActivity(i); 
    MainActivity.this.finish(); 
    super.onPostExecute(result); 
    finish(); 
    } 
    @Override 
    protected Void doInBackground(Void...params) { 
    // TODO Auto-generated method stub 
    //some code 
    } 
    return null; 
} 
}.execute(null, null, null); 

//and here is my close method for dilogue 
public static void close_PDialog() { 
    if (dialog != null && dialog.isShowing()) { 
    dialog.dismiss(); 
    } 
} 

günlük çıkışı: Görev biter ve onun OnPostExecute, Faaliyet üzerinde çalışan

04-24 09:41:54.661: E/AndroidRuntime(1727): FATAL EXCEPTION: main 
04-24 09:41:54.661: E/AndroidRuntime(1727): java.lang.IllegalArgumentException: View not attached to window manager 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:355) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:200) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at android.view.Window$LocalWindowManager.removeView(Window.java:432) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at android.app.Dialog.dismissDialog(Dialog.java:278) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at android.app.Dialog.access$000(Dialog.java:71) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at android.app.Dialog$1.run(Dialog.java:111) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at android.app.Dialog.dismiss(Dialog.java:268) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at commonUtilities.CommonUtility.close_PDialog(CommonUtility.java:233) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at com.walkover.filesharing.MainActivity$1.onPostExecute(MainActivity.java:55) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at com.walkover.filesharing.MainActivity$1.onPostExecute(MainActivity.java:1) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at android.os.AsyncTask.finish(AsyncTask.java:417) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at android.os.AsyncTask.access$300(AsyncTask.java:127) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at android.os.Handler.dispatchMessage(Handler.java:99) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at android.os.Looper.loop(Looper.java:130) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at java.lang.reflect.Method.invoke(Method.java:507) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
04-24 09:41:54.661: E/AndroidRuntime(1727):  at dalvik.system.NativeStart.main(Native Method) 
+0

'CommonUtility.close_PDialog();' yönteminin posta kodu. – user370305

+0

Lütfen logcat çıkışı gönderilsin mi? – Analizer

+0

istisnayı fırlatan satırı kaldırırsanız, progressDialog ekranda mı kalıyor yoksa kayboluyor mu? – Analizer

cevap

1

Muhtemelen ne zaman onPostExecute'a geldiğinde (ve içeriği alındı) oluşturuldu.

Bu şekilde bırakabilir veya bir iletişim kutusu gerektiğinde her zaman kullanılabilecek bir progressDialog örneğini hazırlayabilirsiniz ve etkinliğinizin onDestroy() yönteminde bunu iptal edebilirsiniz (böyle bir durumda olduğu gibi) .