android中对话框Dialog禁止按[返回键]或[搜索键]

来源:互联网 发布:python接口测试 编辑:程序博客网 时间:2024/05/17 21:38

对话框禁止按[返回键]或[搜索键]

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();

0 0
原创粉丝点击