84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
点击某个按钮出现popupwindow,点击监听的代码如下:
if (wPopupWindow.isShowing()){ wPopupWindow.dismiss(); }else{ wPopupWindow.showAsDropDown(layoutFiltrate,0,0); }
我输出日志,Popuowindow的isShowing()始终显示为false。麻烦各位多多指教。
闭关修行中......
你不应该是用PopupWindow的isShowing()方法作为展示和隐藏的开关,因为你如果一直没有调用showAsDropDown方法的话,isShowing()返回值一定是false。可以自定义一个临时boolean作为展示的开关,如boolean isPopShowing=false;然后通过isPopShowing=!isPopShowing的方法对显示状态进行重置
要么是你输出日志的地方不对,要么就是你wPopupWindow.showAsDropDown方法根本没调用过。
/** * Indicate whether this popup window is showing on screen. * * @return true if the popup is showing, false otherwise */ public boolean isShowing() { return mIsShowing; }
Indicate whether this popup window is showing on screen.
public void showAsDropDown(View anchor, int xoff, int yoff, int gravity) { 。。。 mIsShowing = true; 。。。
你不应该是用PopupWindow的isShowing()方法作为展示和隐藏的开关,因为你如果一直没有调用showAsDropDown方法的话,isShowing()返回值一定是false。可以自定义一个临时boolean作为展示的开关,如boolean isPopShowing=false;然后通过isPopShowing=!isPopShowing的方法对显示状态进行重置
要么是你输出日志的地方不对,要么就是你wPopupWindow.showAsDropDown方法根本没调用过。