关于使用进度条搜索硬键行为(android)

时间:2010-07-28 12:41:39

标签: android

当显示进度对话框并按下搜索硬键时,它会关闭并移动到手机的搜索栏,即使进度Dialog setcancellable值设置为false也是如此。

我们怎么能避免这种情况?

3 个答案:

答案 0 :(得分:1)

这对我有用

dialog = new ProgressDialog(this){
    @Override
    public boolean onSearchRequested() {
        return false;
    }
};

答案 1 :(得分:0)

没有必要避免这种情况。您不能禁止用户离开您的应用。他将始终能够按主页键返回并在后台发送您的应用程序。如果您有一个正在运行的notcancelable对话框,则用户将在重新进入您的应用程序时返回此活动。您必须以一种即使将应用程序发送到后台并稍后重新访问它也能正常工作的方式构建您的应用程序。

答案 2 :(得分:0)

我遇到了同样的问题并通过在进度对话框中设置OnKeyListener来修复它,该对话框消耗了搜索按钮:

    dlg.setOnKeyListener(new DialogInterface.OnKeyListener() {
        @Override
        public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent event) {
            if (event.getKeyCode() == KeyEvent.KEYCODE_SEARCH) {
                return true;
            } else {
                return false;
            }
        }
    });

这对我有用。