Android:在调用下一个窗口时关闭一个弹出窗口?

时间:2012-10-26 03:25:00

标签: android

我有3个图像按钮,按下它们每个都有一个打开的弹出窗口。问题是,当我点击按钮1时,有一个弹出窗口,如果我不解除该弹出窗口而是单击按钮2,则会出现按钮1和按钮2的弹出窗口。 当按下新按钮时,如何解除任何打开的弹出窗口?

这是我的代码

final ImageButton rredButton=(ImageButton)findViewById(R.id.RredButton);
    rredButton.setOnClickListener(new View.OnClickListener() {

        public void onClick(View arg0) {
            LayoutInflater layoutInflater
            = (LayoutInflater)getBaseContext()      
            .getSystemService(LAYOUT_INFLATER_SERVICE);
            View popupView = layoutInflater.inflate(R.layout.popupright, null);
            final PopupWindow popupWindow = new PopupWindow(               
                    popupView,                
                    LayoutParams.WRAP_CONTENT,                       
                    LayoutParams.WRAP_CONTENT);     
            Button btnNxtScr = (Button)popupView.findViewById(R.id.nextscreen);             
            btnNxtScr.setOnClickListener(new Button.OnClickListener(){     
                @Override     
                public void onClick(View v) {      
                    Intent myintent1 = new Intent(colorActivity.this,colorBlueActivity.class);
                    startActivity(myintent1);
                }
            });
                    popupWindow.showAsDropDown(rredButton, 1, -1);
        }});

这是另一个按钮(使用类似的弹出方法)

final ImageButton ryellowButton=(ImageButton)findViewById(R.id.RyellowButton);
    ryellowButton.setOnClickListener(new View.OnClickListener() {
        @Override     
        public void onClick(View arg0) {          
            createWrongPop(arg0);      
            }});

1 个答案:

答案 0 :(得分:0)

要执行此操作,您需要在显示弹出窗口时保存对类中PopupWindow的引用,并在弹出窗口解除时将其清除。然后,如果单击第二个按钮,则可以检查弹出窗口是否可用,如果是,则在其上调用.dismiss()并创建一个新的,或修改它的内容。