当我单击搜索按钮时,防止 ProgressDialog 被关闭(Android)

2024-04-12

在长时间运行的操作中,我显示了一个弹出对话框(由ProgressDialog以防止其他操作发生)。

我已将其设置为不可取消setCancelable(false),所以我无法使用后退按钮关闭它,但令人惊讶的是,“搜索”硬件按钮会关闭该对话框!

更准确地说,显示了全局搜索应用程序,当我返回我的应用程序时,该对话框已关闭。

知道如何防止对话框被忽略吗?


这有效(注意我把它放在对话框生成器上):

.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
    }
})

也许甚至可以抓住正向和负向按钮的按下情况,并且only处理这些,对于任何其他键返回 true。如果你能弄清楚的话,我会很好奇......

PS:我在某处读到对话框中有更多“漏洞”,即您可以在不按其上的任何按钮的情况下摆脱它。这显然是其中之一。有人知道其他人吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当我单击搜索按钮时,防止 ProgressDialog 被关闭(Android) 的相关文章

随机推荐