今天遇到一個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)