Android下 PopupWindow弹出另一个PopupWi

2016-04-20  本文已影响0人  rockman_

今天遇到一个bug" Unable to add window -- token android.view.ViewRootImpl$W@20485acc is not valid; is your activity running".没有找到Activity。到网上各种找。

发现了原因是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 右下方等,后面两个参数为 x/y 轴的偏移量。
pop.showAtLocation(View parent, int gravity, int x, int y) 

     
上一篇下一篇

猜你喜欢

热点阅读