我有一个 popupWindow,我在我的活动中关闭 OnBackPressed。但是当 popupWindow 不可见但按下后退按钮时,我的活动应该关闭并且控制应该转到主屏幕。
我没有办法做到这一点,因为 onBackPressed 中没有返回码,有什么线索吗?
我有一个 popupWindow,我在我的活动中关闭 OnBackPressed。但是当 popupWindow 不可见但按下后退按钮时,我的活动应该关闭并且控制应该转到主屏幕。
我没有办法做到这一点,因为 onBackPressed 中没有返回码,有什么线索吗?
尝试检查您的 popupWindow 是否可见,如果不可见,则不要调用super.onBackPressed();
您的 onBackPress 方法,这应该可以。
试试这个......我认为这是你必须做的
@Override
public void onBackPressed() {
i
if (null != popUpWindow && popUpWindow.isShowing()) {
// dismiss the popup window
popUpWindow.dismiss();
} else {
super.onBackPressed();
finish();
}
}
这是我的伪代码。我认为您只需要一种方法来判断您的弹出窗口是否仍然存在
public void onBackPressed() {
if (popupWindow != null && popupWindow.isVisible()) {
popupWindow.dismiss();
popupWindow = null;
return;
}
super.onBackPressed();
finish();
}
尝试将这两者联系起来:
public void onBackPressed() {
super.onBackPressed();
finish();
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
finish();
}
return true;
}