如何在单击设备的搜索按钮时关闭警报对话框?

时间:2012-07-23 11:37:54

标签: android android-widget

我必须限制警报对话框点击设备的搜索按钮,如何在Android中实现它? 场景: 我的应用程序有一个活动与数据列表,用户可以选择列表中的数据,并执行编辑,删除等...,如果用户尝试按编辑,删除应用程序的按钮而不从列表中选择项目然后它弹出使用Ok按钮显示“请选择一个项目”的警告对话框。如果用户按下设备的搜索按钮弹出警告对话框,警报对话框将关闭,我只想限制关闭警报对话框。

请帮我解决这个问题。

3 个答案:

答案 0 :(得分:2)

试试这个:

dialog.setCanceledOnTouchOutside(false);

它将限制仅关闭警告对话框的外部点击

答案 1 :(得分:1)

将关键听众设为AlertDialog Builder并跟踪KeyEvent.KEYCODE_SEARCH。或者在您的活动中覆盖onKeyDown() ..

对于AlertDialog 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; 
        }
        return false; 
    }
})

答案 2 :(得分:1)

在显示对话框之前使用Dialog.setCancelable(false);

否则你可以像其他人在这里解释的那样处理按钮按下