创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框

来源:互联网 发布:js 数组 remove 编辑:程序博客网 时间:2024/06/05 00:32

Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭

AlertDialog.Builder builder = new Builder(this);

builder.create().show();

这样显示出来的对话框,当用户按返回键或搜索键时,这个对话框也能关闭。

怎样才能实现一个类似在windows系统上的对话框,必须点对话框上的按钮后,才能关闭这个对话框。

下面是具体代码:

  AlertDialog.Builder builder = new Builder(this);
  builder.setMessage(msg);
  builder.setTitle(title);

  builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
  public void onClick(DialogInterface dialog, int which)
  {
  dialog.dismiss();

  }
  });

  AlertDialog alertDialog = builder.create();

  alertDialog.setCancelable(false);//设置这个对话框不能被用户按[返回键]而取消掉,但测试发现如果用户按了          KeyEvent.KEYCODE_SEARCH,对话框还是会Dismiss掉
  //由于设置alertDialog.setCancelable(false); 发现如果用户按了KeyEvent.KEYCODE_SEARCH,对话框还是会Dismiss掉,这里的setOnKeyListener作用就是屏蔽用户按下KeyEvent.KEYCODE_SEARCH
  alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
   @Override
   public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event)
   {
    if (keyCode == KeyEvent.KEYCODE_SEARCH)
     {
      return true;
     }
     else
     {
      return false; //默认返回 false
     }
    }
  });

  alertDialog.show();


原创粉丝点击