1

我有一个带有自定义视图的对话框,当单击列表项时会弹出​​该对话框。我重写了onKeyDown我的活动的功能,以查看按下后退按钮时对话框是否已启动,但如果对话框已启动,onKeyDown则不会被调用。

如果我在对话框消失后点击后退按钮,它会被调用没有问题,但我需要知道在对话框处理时是否点击了后退按钮,如果我需要在设备旋转时重新弹出它。

我搜索了一下,似乎它与调用setContentView我的自定义对话框布局有关,但我没有找到的是如何okKeydown使用该对话框

4

1 回答 1

3

对于对话框,我们有单独的 setOnKeyListener 所以尝试下面的代码和......你可以像我一样跟踪任何按键......

  • keyCode == KeyEvent.KEYCODE_CAMERA
  • keyCode == KeyEvent.KEYCODE_SEARCH 等。

          mProgressDialog.setOnKeyListener(new Dialog.OnKeyListener() {
    
                @Override
                public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
                    if ((keyCode == KeyEvent.KEYCODE_CAMERA)) {
                        return true;
                    }
                    if ((keyCode == KeyEvent.KEYCODE_SEARCH)) {
                        return true;
                    }
                    return false;
                }
            });
    
于 2012-09-10T15:13:32.853 回答