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

  • 相关阅读:
    Clion 配置
    JetBrains 全套激活 Pycharm Clion 高校学生老师免费用
    VS Code 搭建 C/C++ 编译运行环境的四种方案 (待完善)
    专治编译器编辑器vscode中文乱码输出 win10 配置系统默认utf-8编码
    AlexeyAB大神版yolo 待完善
    Python 的 GUI 开发工具
    Python打包—Pyinstaller
    pip freeze 打包依赖库及setup.py
    jenkins中布置python测试
    在Ubuntu上安装Jenkins
  • 原文地址:https://www.cnblogs.com/personnel/p/4583158.html
Copyright © 2011-2022 走看看