2013-07-17 3 views
0

Я получаю отчет о сбоях каждые несколько недель о java.lang.IllegalArgumentException, и я действительно не знаю, с чего начать искать. У меня никогда не было краха приложения, проверяя его, насколько я могу сказать, что приложение открывается около 300 раз в неделю, поэтому авария происходит не очень часто, но я все равно хочу ее исправить. В нем говорится об отключении диалога, но у меня есть несколько диалогов в приложении. Может ли кто-нибудь рассказать мне больше о том, что означает этот отчет о сбое, а также о том, как вы пришли к вашему заключению?My app crashes with java.lang.IllegalArgumentException

java.lang.IllegalArgumentException: View not attached to window manager 
at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:402) 
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:304) 
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:79) 
at android.app.Dialog.dismissDialog(Dialog.java:325) 
at android.app.Dialog$1.run(Dialog.java:120) 
at android.os.Handler.handleCallback(Handler.java:725) 
at android.os.Handler.dispatchMessage(Handler.java:92) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:5293) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 
at dalvik.system.NativeStart.main(Native Method) 
+0

вы пытаетесь удалить вид, который не прилагается – DjHacktorReborn

+0

если { \t \t \t \t если (dialog.isShowing()) \t \t \t \t \t dialog.dismiss() (диалог! = NULL); \t \t \t} добавить в ondestroy(); – user1140237

+0

из этой ошибки вы можете рассказать, какую строку кода или какую деятельность она имеет? –

ответ

1

Поздний ответ, но это может помочь кому-то.

@Override 
protected void onPause() { 
    closeDialog(); 
    super.onPause(); 
} 

private void closeDialog(){ 
    if(progressDialog != null && progressDialog.isShowing()){ 
     try{ 
      progressDialog.dismiss(); 
     } catch (IllegalArgumentException e){ 
      // do nothing 
     } 
    } 
}