关于Dialog的一个问题
现象:此异常一般在显示一个Dialog时发生,不定期。
上次发生的原因:在一个页面显示了Dialog,然后退出此页面,下次再进去时就报此异常。
日志:Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@2172443f is not valid; is your activity running?
发生此异常的原因:Dialog是基于view上显示的,当即将弹出Dialog时,view发生了改变,即Dialog所要依附的Context发生了改变,就会出现这个错误。
解决方法:在此页面退出(即onDestroy()方法里)时,将此Dialog置空。这样,在下次显示Dialog时就会去创建一个基于全新view上的Dialog。