我创建了一个窗口,我通过广播接收器在屏幕上显示它。但问题是它出现在屏幕上,我想在按下后退按钮后将其解除。我无法得到事件按下此按钮。我的背压代码如下 -
view.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getKeyCode() == KEYCODE_BACK) {
Log.d("LOG", "back button is pressed");
}
return true;
}
});
但是没有发生任何事情。我试图通过 DISPATCHKEY 做同样的事情,但它也没有用。请帮助我,我不知道什么。不能做这个工作的图。?
答案 0 :(得分:1)
维护Window的全局引用并覆盖onBackPressed() 试试这个:
@Override
public void onBackPressed() {
if (view != null && view.isShowing()) {
view.dismiss();
} else {
super.onBackPressed();
}
}