博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭...
阅读量:4984 次
发布时间:2019-06-12

本文共 1052 字,大约阅读时间需要 3 分钟。

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

 

名品推荐:  

转载于:https://www.cnblogs.com/personnel/p/4583158.html

你可能感兴趣的文章
Exponentiation
查看>>
本地jar上传到本地仓库
查看>>
7.14T3
查看>>
四则运算C++带Qt界面版本,吾王镇楼。。。。。
查看>>
各种获取时间的方法包含各类时间格式
查看>>
安卓7.0手机拍照闪退问题解决
查看>>
黑马程序员------IO(一)
查看>>
springcloud的配置
查看>>
ME525+ Defy+ 刷机指南[zz]
查看>>
支持触屏的jQuery轮播图插件
查看>>
Codesmith
查看>>
差一点搞混了Transactional注解
查看>>
javascript基本函数
查看>>
C#转义字符
查看>>
前端公共库cdn服务推荐//提高加载速度/节省流量
查看>>
python openpyxl内存不主动释放 ——关闭Excel工作簿后内存依旧(MemoryError)
查看>>
snprintf 返回值陷阱 重新封装
查看>>
asp.net GridView多行表头的实现,合并表头
查看>>
C#套打
查看>>
codeforce 932E Team Work(第二类斯特林数)
查看>>