我正在显示一个弹出窗口,如果我按如下方式初始化它:
popupWindow.setBackgroundDrawable(new BitmapDrawable());
popupWindow.setFocusable(false);
和
@Override
public void onBackPressed() {
if (popupWindow.isShowing()) {
showConfirmationDialogForExit();
} else {
super.onBackPressed();
}
}
我的弹出窗口中的键盘无法打开(弹出窗口具有编辑文本(。此外,我还保留了一个对话框来确认在Back Press上退出屏幕,该对话框有效。
现在与此相反,如果我保持
popupWindow.setFocusable(true);
键盘打开并工作,但 onBackPressed(( 不检查
popupWindow.isShowing()
我的问题是,我想在弹出窗口显示时实现后压检查,并且在单击该弹出窗口上的编辑文本时也需要使用键盘。
我所经历的解决方案建议我保持
popupWindow.setFocusable(true);
但我无法实现我正在寻找的目标。
请指导我。
试试
popWindow.setFocusable(true);
popWindow.update();
这会将弹出窗口的状态(如果当前正在显示(从当前设置的状态更新。
如果由于某种原因这对您不起作用,您可以随时在打开 popWindow 时设置本地标志。
boolean popupshowing = true;
然后使用它来检查它是否打开。 (我同意这不是最优雅的解决方案(