android.view.WindowManager$BadTokenException:



有时在显示自定义对话框时出现错误。我无法追踪,为什么这个错误有时只出现。请任何人知道此异常何时发生。任何可能的情况?

坏令牌异常详细信息:

android.view.WindowManager$BadTokenException: 
at android.view.ViewRootImpl.setView (ViewRootImpl.java:673)
at android.view.WindowManagerGlobal.addView (WindowManagerGlobal.java:301)
at android.view.WindowManagerImpl.addView (WindowManagerImpl.java:85)
at android.app.Dialog.show (Dialog.java:337)
at com.mydomain.myappname.helpers.dialogs.ApiProgressDialog.show (ApiProgressDialog.java:24)
at com.mydomain.myappname.ui.activity.SplashActivity.loadUserStatusApi (SplashActivity.java:182)
at com.mydomain.myappname.ui.activity.SplashActivity.checkIntentForMainActivity (SplashActivity.java:171)
at com.mydomain.myappname.ui.activity.SplashActivity.access$000 (SplashActivity.java:47)
at com.mydomain.myappname.ui.activity.SplashActivity$2.run (SplashActivity.java:143)
at android.os.Handler.handleCallback (Handler.java:739)
at android.os.Handler.dispatchMessage (Handler.java:95)
at android.os.Looper.loop (Looper.java:160)
at android.app.ActivityThread.main (ActivityThread.java:5541)
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:964)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:759)

代码初始化:

我在 SplashActivity.Class 中调用了 CustomDialog 类

Context context= SplashActivity.this;
ApiProgressDialog apiProgressDialog= new ApiProgressDialog(context);
apiProgressDialog.show();//  here BadTokenException error returns on something

我你在后台线程中添加进度条,然后这个

android.view.WindowManager$BadTokenException

发生异常。如果您将类用于某些后台工作asynkTask则不能postexecute方法中使用progressDialogAleartDialog

如果你想做这样的事情,你可以使用AsynkLoader类,它覆盖loadInbackground你可以执行后台工作的方法,然后在你的主活动中实现LoaderManager.LoaderCallBacks,这将覆盖onLoadfinish()将在main thread,以便你可以使用dialogboxProgressBar

相关内容

  • 没有找到相关文章

最新更新