onBackPress not called when pop up window is displayed
android
Solution
You need to call `setBackgroundDrawable()` on your `PopupWindow` and set the background to a non `null`. It sounds strange but if the `background` isn't set to something on your `PopupWindow` then it won't be able to detect events from the `Activity` such as touching outside of the window or back button presses.
I had the same issue just a few days ago. I will try to find the SO answer where someone explains why this is so but it may take me a little bit. In the meantime, give it a try it should work.
Found it
I haven't had a chance to test it but you could try adding a `keyEventListener` and doing something like this
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK)
{
// put your code here
}
and add `setOutsideTouchable(true)` to your `PopupWindow` object and calling `update()` on it. If this doesn't work then you may have to just leave the back button disabled when the popup is showing and add your own `Button` to the window. I haven't found anything else that will allow you to pick up events from the back button being pressed.
Problem
I want to handle back press when pop up window is displayed. In some care I want to dismiss it and in some case I do not want to perform some task in pop up window. When popup window is displayed, Activity onBackPress will not be called. Then how can in capture back press event when a pop up window is displayed?