I am developing an application that when the button is pressed, it opens a dialog with OK and Cancel buttons.
It works fine.
When the user presses the back button, I am handling this as follows
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK))
{
}
return super.onKeyDown(keyCode, event);
}
But the above method is not called. How can I handle this?
it is because when your Dialog opens then your window navigate its focused to Dialog. So now you have to handle
key
on your Dialog.If you are using a DialogFragment, from what I can tell the right way to do it is to override onCancel()
I noticed
setOnCancelListener
does not work, andsetOnKeyListener
works, but for me has the fun side effect that it swallows all keys if your dialog has an edit text.You need to override
OnCancel
method. This method calls on Back Key press. Here's code which works perfect to me.Hope this will help you, and accept it if it is helpful to you.
Thanks..
Sounds like you want to set the OnCancelListener when you create the Dialog. It looks like this:
This code works: