2016-06-01 43 views
1

我有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); 

     } 
    }); 
+0

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

,當您使用此功能在第二個彈出單擊,然後關閉第一個彈出如果您的按鈕位於活動佈局上,則在彈出窗口外單擊只會取消彈出窗口,而不會觸發對活動的點擊佈局的按鈕 – Sunshinator

回答

0

你必須使用這些屬性:

if(popup_view.isShowing(){ 
    popup_view.dismiss(); 
} 
相關問題