当PopupWindow显示在窗口上时,为什么按钮的onClickListener不会触发?

时间:2013-03-09 08:54:29

标签: android onclicklistener popupwindow

当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有两个函数showSiftPopwinToastShow,当Popwin显示时,再次单击它,Popwin解除,但是这个onClick监听器已被调用。

1 个答案:

答案 0 :(得分:3)

这是预期的行为。

弹出窗口将消耗屏幕上的任何触摸事件,直到它被解除。您提到的触摸事件无法通过您的按钮,也不会执行任何点击。

如果您希望在窗口被解除时运行,则应将按钮代码移动到OnDismissListener