Unable to add window -- token null is not valid; is your activity running?

在Android中连续弹出两个Dialog就会出现下面的错误:

    android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
        at android.view.ViewRootImpl.setView(ViewRootImpl.java:1517)
        at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:442)
        at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:151)
        at android.app.Dialog.show(Dialog.java:352)
        at android.app.AlertDialog$Builder.show(AlertDialog.java:1131)
        at com.deepcode.deepcount.Fragment.FragmentCount$5.run(FragmentCount.java:389)
        at android.os.Handler.handleCallback(Handler.java:1000)
        at android.os.Handler.dispatchMessage(Handler.java:104)
        at android.os.Looper.loopOnce(Looper.java:242)
        at android.os.Looper.loop(Looper.java:362)
        at android.app.ActivityThread.main(ActivityThread.java:8393)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:992)

这是因为当上一个对话框dismiss后立即显示下一个对话框,可能会因为窗口令牌(window token)尚未完全释放而导致BadTokenException.解决这个问题最简单的方法就是把Dialog改成Activity.

 

posted @ 2025-11-22 20:54  MSTK  阅读(0)  评论(0)    收藏  举报