android.view.WindowManager$BadTokenException:異常分析 和解決方案

這幾天再作項目的時候遇到一個問題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中,這樣就可以避免錯誤了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章