Prevent ProgressDialog from being dismissed when I click the search button (Android)

This works (notice I put it on the dialog builder):

.setOnKeyListener(new DialogInterface.OnKeyListener() {

    @Override
    public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_SEARCH && event.getRepeatCount() == 0) {
            return true; // Pretend we processed it
        }
        return false; // Any other keys are still processed as normal
    }
})

Maybe it’s even possible to grab the positive and negative button presses, and only handle these, return true for any other keys. Would be curious if you can figure that out…

PS: I read somewhere there are more “holes” in the dialog, i.e you can get rid of it without hitting any buttons on it. This was apparently one. Does anybody know of any others?

Leave a Comment