【问题标题】:Back press event of device to dismiss a window设备的后按事件以关闭窗口
【发布时间】:2018-06-21 14:39:42
【问题描述】:

我创建了一个窗口,并通过广播接收器在屏幕上显示它。但问题是它出现在屏幕上,我想在按下后退按钮后将其关闭。我无法获得按下此视图上的按钮。我的后按代码如下所示-

  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 做同样的事情,但也没有用。请帮我解决我不知道的问题。这对视图不起作用。 ?

【问题讨论】:

  • 也许This 会有所帮助。

标签: android back-button softkeys


【解决方案1】:

维护 Window 的全局引用并覆盖 onBackPressed() 试试这个:

@Override
 public void onBackPressed() {
  if (view != null && view.isShowing()) {
    view.dismiss();
  } else {
    super.onBackPressed();
  }
}

【讨论】:

  • 这不在活动中。它在广播接收器中。所以 OnBackPressed 无法实现。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-25
  • 2010-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多