2011-06-27 145 views
0

我正在开发应用程序,我正在使用一个活动,其中我使用线程逐页显示列表视图项目,当用户选择该项目时,它将把用户带到另一个活动。致命例外︰主

但在这里有时候,当我点击列表视图项目的应用程序崩溃。它说日志猫的东西,但我无法理解它。

这里是堆栈跟踪:

06-24 16:26:44.320: ERROR/AndroidRuntime(4248): FATAL EXCEPTION: main 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248): android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running? 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at android.view.ViewRoot.setView(ViewRoot.java:527) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at android.view.Window$LocalWindowManager.addView(Window.java:424) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at android.app.Dialog.show(Dialog.java:241) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at android.app.AlertDialog$Builder.show(AlertDialog.java:802) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at com.usablenet.mobile.walgreen.app.util.ErrorAlertServiceImp.showErrorAlert(ErrorAlertServiceImp.java:86) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at com.usablenet.mobile.walgreen.pharmacy.PrescriptionList.showErrorCodeAlert(PrescriptionList.java:360) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at com.usablenet.mobile.walgreen.pharmacy.PrescriptionList.access$300(PrescriptionList.java:45) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at com.usablenet.mobile.walgreen.pharmacy.PrescriptionList$2.handleMessage(PrescriptionList.java:323) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at android.os.Handler.dispatchMessage(Handler.java:99) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at android.os.Looper.loop(Looper.java:130) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at java.lang.reflect.Method.invoke(Method.java:507) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
06-24 16:26:44.320: ERROR/AndroidRuntime(4248):  at dalvik.system.NativeStart.main(Native Method) 

感谢, 巴鲁。

+0

乌尔logcat的痕迹,我觉得有一些误差与UR alertdialog。请提供一些代码,以便我们可以帮助您朝正确的方向发展 –

回答

1

对于AlertDialog使用getApplicationContext,否则在切换任务时会出现此错误。 而不是:AlertDialog.Builder builder = new AlertDialog.Builder(this); 使用:ConnectionDetector = new ConnectionDetector(getApplicationContext()); 对话框中的任何听众也是如此。

此外:

if (!ConnectionDetector.isConnectingToInternet()) { 
alert.showAlertDialog(ListActivity.this, "Internet Connection Error","Please connect to working Internet connection", false); 
      // stop executing code by return 
      return; 
     }