我有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);
}});
答案 0 :(得分:0)
要执行此操作,您需要在显示弹出窗口时保存对类中PopupWindow的引用,并在弹出窗口解除时将其清除。然后,如果单击第二个按钮,则可以检查弹出窗口是否可用,如果是,则在其上调用.dismiss()并创建一个新的,或修改它的内容。