访问 popupWindow 以从不同的 void 中解散

Access popupWindow to dismiss from different void

使用 Android Studio 我有一个弹出窗口 window 以一种方法加载

...
LayoutInflater layoutInflater = (LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(R.layout.orderup, null);
final PopupWindow popupWindow = new PopupWindow(popupView,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
...
popupWindow.showAsDropDown(findViewById(R.id.posMain), 50, -1*(height-50));

一旦运行,用户将点击多个按钮来标记任务完成。完成后我想关闭 popupWindow。它如何告诉 dismiss 使用 popupWindow,即使它在不同的 void 方法中。

声明您的弹出窗口添加 activity

的顶部
private PopupWindow popupWindow;

并且比在你的方法中

popupWindow = new PopupWindow(popupView,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

而不是关闭您可以调用的 PopupWindow

popupWindow.dismiss(); //Dismiss PopupWindow

if(popupWindow != null){ popupWindow.dismiss(); } //Check if PopupWindow is active, if it is, than close it.