弹出窗口解除并打开问题

时间:2016-06-01 10:07:30

标签: android

我有2个显示弹出窗口的按钮。我已编码在外面点击时解雇这些弹出窗口。

我的问题是;

当第一个弹出窗口打开时,单击第二个按钮打开第二个弹出窗口,只关闭第一个弹出窗口。要打开第二个弹出窗口,必须再次单击该按钮。

有没有办法避免双击按钮。

我的代码:

btn_a.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            lInflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View popup_view = lInflater.inflate(R.layout.popup, null);
            final PopupWindow popup = new PopupWindow(popup_view,200,110,true);
            popup.setFocusable(true);
            popup.setBackgroundDrawable(new ColorDrawable());
            popup.setOutsideTouchable(true);
            popup.showAsDropDown(btn_period,0,0);
        }   
    });


    btn_b.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            lInflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View popup_view2 = lInflater.inflate(R.layout.popup2, null);
            final PopupWindow popup2 = new PopupWindow(popup_view2,200,110,true);
            popup2.setFocusable(true);
            popup2.setBackgroundDrawable(new ColorDrawable());  
            popup2.showAsDropDown(btn_shops,0,0);

        }   
    });

1 个答案:

答案 0 :(得分:0)

您必须使用以下属性:

popupWindow.setTouchable(true);
popupWindow.setFocusable(false);
popupWindow.setOutsideTouchable(false);`

当您点击第二个弹出窗口时,请使用此功能关闭第一个弹出窗口:

if(popup_view.isShowing(){
  popup_view.dismiss();
}