我有一个自定义视图对话框,单击列表项时会弹出该视图。我覆盖了我的活动的onKeyDown
函数,以查看按下后退按钮时对话框是否已启动,但如果对话框已启动,则onKeyDown
不会被调用。
如果我在对话框消失后点击后退按钮,它会被调用没有问题,但我需要知道后面的按钮是否被按下时,如果我需要在设备旋转时需要重新弹出对话框
我搜索了一下,看起来它与我的自定义对话框布局调用setContentView
有关,但我找不到的是如何让okKeydown
使用该对话框< / p>
答案 0 :(得分:3)
对于Dialogs,我们有单独的setOnKeyListener,所以请尝试以下代码和....... 你可以像我一样跟踪任何按键...
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;
}
});