zoukankan      html  css  js  c++  java
  • 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();

    2012-01-03

  • 相关阅读:
    全网最详细的Linux命令系列-ls命令
    Kubernetes 部署策略详解-转载学习
    Kubernetes工作流程--<1>
    详解CURL状态码,最全的代码列表
    Haproxy-4层和7层代理负载实战
    Keepalived+Nginx高可用实例
    实现FTP+PAM+MySQL环境,批量配置虚拟用户
    每秒处理10万订单乐视集团支付Mysql架构-转载
    构建 CDN 分发网络架构简析
    Linux系统入门简介<1>
  • 原文地址:https://www.cnblogs.com/personnel/p/4583158.html
Copyright © 2011-2022 走看看