Android下 PopupWindow彈出另一個PopupWindow出錯解決

今天遇到一個bug" Unable to add window -- token android.view.ViewRootImpl$W@20485acc is not valid; is your activity running".沒有找到Activity。到網(wǎng)上各種找。

發(fā)現(xiàn)了原因是popupwindow是以Activity為載體的,所以在使用
(相對某個控件的位置,有偏移,xoff 為 X 軸的偏移量,yoff 為 Y 軸的偏移量) pop.showAsDropDown(View anchor, int xoff, int yoff)這個方法時,由于我是想位于第一個PopupWindow上的控件彈出另外一個,導致了出錯。最后只能pop.showAtLocation(View parent, int gravity, int x, int y)方法各種調位置才解決。

例子代碼:

// 相對某個控件的位置(正左下方),無偏移
pop.showAsDropDown(View anchor) 
// 相對某個控件的位置,有偏移,xoff 為 X 軸的偏移量,yoff 為 Y 軸的偏移量                        
 pop.showAsDropDown(View anchor, int xoff, int yoff)
// 在父容器的什么位置,gravity 為相對位置,如:正中央 Gravity.CENTER、下方 Gravity.BOTTOM、Gravity.RIGHT|Gravity.BOTTOM 右下方等,后面兩個參數(shù)為 x/y 軸的偏移量。
pop.showAtLocation(View parent, int gravity, int x, int y) 

     
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容