0

我必须限制在单击设备的搜索按钮时关闭警报对话框,如何在 android 中实现它?场景:我的应用程序有一个带有数据列表的活动,用户可以选择列表中的数据并对其执行编辑、删除等操作,如果用户尝试按下编辑,删除应用程序的按钮而不从列表中选择项目然后它会弹出警报对话框,并带有“请选择一个项目”的消息,并带有确定按钮。因此,如果用户按下设备的搜索按钮,则弹出警报对话框时,警报对话框将关闭,我只想限制警报对话框的关闭。

请帮我解决这个问题。

4

3 回答 3

2

试试这个 :

dialog.setCanceledOnTouchOutside(false);

它将限制只关闭警报对话框的外部点击。

于 2012-07-23T11:52:27.317 回答
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; 
    }
})
于 2012-07-23T11:42:24.063 回答
1

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

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

于 2012-07-23T11:43:13.017 回答