我正在开发一个应用程序,当按下按钮时,它会打开一个带有OK和Cancel按钮的对话框 .
它工作正常 .
当用户按下后退按钮时,我按如下方式处理
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK))
{
}
return super.onKeyDown(keyCode, event);
}
但是没有调用上面的方法 . 我怎么处理这个?
7 回答
听起来好像你想在创建Dialog时设置OnCancelListener . 它看起来像这样:
您需要覆盖
OnCancel
方法 . 此方法调用Back Key按下 . 这里的代码对我来说很完美 .希望这对您有所帮助,如果它对您有帮助,请接受它 .
谢谢..
试试这个
这是因为当您的Dialog打开时,您的窗口会将其焦点导向Dialog . 所以现在你必须在对话框上处理
key
.如果您正在使用DialogFragment,我可以告诉the right way to do it is to override onCancel()
我注意到
setOnCancelListener
不起作用,并且setOnKeyListener
有效,但对我来说有一个有趣的副作用,如果对话框有编辑文本,它会吞下所有键 .此代码有效: