我有一个弹出窗口,当按钮点击时会showAsDropDown,并且这个弹出窗口设置了setOutsideTouchable(true)。我想在点击按钮时切换显示弹出窗口,但是在点击弹出窗口外部时也要取消。问题在于,点击外部触摸事件在按钮点击事件之前被调用,这导致我的弹出窗口在此时隐藏或者显示。
有没有办法解决这个问题?
已修复!!!
我发现问题在于我的弹出窗口没有得到焦点,所以我必须调用:
为了修复它。
我发现问题在于我的弹出窗口没有得到焦点,所以我必须调用:
popupWindow.setFocusable(true);
为了修复它。
setOutsideTouchable(true)
在onClick中不起作用。每次isShowing()
都为false,因为弹出窗口在触发onClick之前就已关闭。 - Rumen Rusanov