• 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

  • 相关阅读:
    leetcode刷题总结401-450
    leetcode刷题总结351-400
    马哥博客作业第六周
    马哥教育第一阶段考试
    马哥博客作业第四周
    马哥博客作业第三周
    马哥博客作业第二周
    马哥博客作业第一周
    马哥博客预习作业第三周
    马哥博客预习作业第二周
  • 原文地址:https://www.cnblogs.com/personnel/p/4583158.html
Copyright © 2020-2023  润新知