当PopupWindow显示时,单击PopupWindow区域外的按钮只会关闭PopupWindow,但按钮的点击监听器没有响应。我的问题是,为什么按钮的点击监听器没有响应?
private OnClickListener mSiftClickListener = new
View.OnClickListener() {
@Override
public void onClick(View v) {
if (mSiftPopwin != null && mSiftPopwin.isShowing()) {
ToastShow.makeText(mContext, "yes"); //never show
} else {
showSfitPopwin();
}
}
};
我的onClickListener
有两个函数showSiftPopwin
和ToastShow
,当Popwin显示时,再次单击它,Popwin解除,但是这个onClick监听器已被调用。
答案 0 :(得分:3)
这是预期的行为。
弹出窗口将消耗屏幕上的任何触摸事件,直到它被解除。您提到的触摸事件无法通过您的按钮,也不会执行任何点击。
如果您希望在窗口被解除时运行,则应将按钮代码移动到OnDismissListener。