這幾天再作項目的時候遇到一個問題popwindows和activity 轉換時候 的顯示問題,異常 “android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?” 這個錯誤最開始也不知道 各種百度 現在問題解決了與大家分享。
popwindow顯示的時候要依附於一個View,當View還沒完全create好的時候,就會報android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running異常 。因此解決方案由兩個
方案1:這是我看人家博客寫的,一試居然可以,再次真心感謝那位大兄弟。廢話不多說了,其實就是爲pw.showAtLocation(rl, Gravity.CENTER, 0, 0); 這條加一個hander 停留0.5s鍾等待 view加載完畢,然後再執行showAtLocation這句話。經本人測試 可以。
方案2:既然是因爲view沒加載好,我自己想的方法就是 在activity加載完畢後執行onWindowFocusChanged方法的時候,我們可以將pw.showAtLocation(rl, Gravity.CENTER, 0, 0)放在windFouceChange中,這樣就可以避免錯誤了。