0

我有一个 popupWindow,我在我的活动中关闭 OnBackPressed。但是当 popupWindow 不可见但按下后退按钮时,我的活动应该关闭并且控制应该转到主屏幕。

我没有办法做到这一点,因为 onBackPressed 中没有返回码,有什么线索吗?

4

4 回答 4

1

尝试检查您的 popupWindow 是否可见,如果不可见,则不要调用super.onBackPressed();您的 onBackPress 方法,这应该可以。

于 2013-08-08T06:53:21.643 回答
0

试试这个......我认为这是你必须做的

@Override
    public void onBackPressed() {
        i
        if (null != popUpWindow && popUpWindow.isShowing()) {

            // dismiss the popup window

            popUpWindow.dismiss();

        } else {
            super.onBackPressed();
                    finish();
        }
    }
于 2013-08-08T07:26:53.773 回答
0

这是我的伪代码。我认为您只需要一种方法来判断您的弹出窗口是否仍然存在

public void onBackPressed() {
    if (popupWindow  != null && popupWindow.isVisible()) {
        popupWindow.dismiss();
        popupWindow = null;
        return;
    }

    super.onBackPressed();
    finish();
}
于 2013-08-08T07:09:22.267 回答
0

尝试将这两者联系起来:

public void onBackPressed() {
    super.onBackPressed();
    finish();
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {



             finish();
    }
    return true;
}
于 2013-08-08T07:02:58.167 回答