android 如何让dialog不消失,即使是用户按了返回键dialog也不消失
解决的问题:软件提示升级的dialog时候,用户有可能按了返回键,但是现在的需求是用户只能按“确定升级”或者“暂时不升级”这两个按钮才能拿dialog消失,按返回键不能使dialog消失 
方案:截取activity的 onkeydown事件,而应该截取dialog的key响应事件,当dialog在前台显示的时候,keylistener首先会派发到dialog里面,在那里面监听就行了。
先申明一个keylistener。
    OnKeyListener keylistener = new DialogInterface.OnKeyListener(){
        public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
            if (keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0)
            {
             return true;
            }
            else
            {
             return false;
            }
        }
    } ;
在把这个listener注册到dialog里面去 当初始化dialog的时候
                builder.setTitle(getText(R.string.XXXX))
                        .setMessage(getText(R.XXXXXX))
                        .setOnKeyListener(key).setCancelable(false)
                        .setPositiveButton(android.R.string.ok, someOKButtonListener)
                        .setNegativeButton(android.R.string.cancel, null);

PS: setCancelable(false),作用是当dialog弹出来的时候,如果触点在dialog外围,按照默认的方式 dialog将消失。如果这个设为false的话 这种情况dialog就不会消失了。  加了这一句就OK了。dialog.setCancelable(false);





    本文转自 一点点征服   博客园博客,原文链接:http://www.cnblogs.com/ldq2016/p/6026490.html,如需转载请自行联系原作者


AlertDialog禁止返回键相关推荐

  1. 修改AlertDialog各组件颜色、字体等属性、禁止返回键、外框不消失、android9.0不居中显示问题解决

    修改AlertDialog各组件颜色.字体等属性 像下图这种Dialog该怎么实现呢? 乍一看视觉效果还可以,但当我们想改变一下标题的文字颜色或者按钮颜色应该怎么做呢? 查看源码 public cla ...

  2. Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭

    AlertDialog.Builder builder = new Builder(this); builder.create().show(); 这样显示出来的对话框,当用户按返回键或搜索键时,这个 ...

  3. android按任意建关闭对话框,Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭...

    AlertDialog.Builder builder = new Builder(this); builder.create().show(); 这样显示出来的对话框,当用户按返回键或搜索键时,这个 ...

  4. Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭...

    AlertDialog.Builder builder = new Builder(this); builder.create().show(); 这样显示出来的对话框,当用户按返回键或搜索键时,这个 ...

  5. 禁止home 与返回键 android源码来电话时容易拒接

    屏蔽键重写activiy的两个方法就行 屏蔽返回键 public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { ...

  6. 返回键捕获 应用程序退出的两种方式(转)

    作为应用程序一个较好的用户体验应该是:在退出应用程序前询问用户是否真正退出?目前普遍做法是,一在退出前询问是否真正退出,二是连续按两下退出. 返回键捕获 应用程序退出的两种方式 实现上述两种应用退出方 ...

  7. Android监视返回键

    android在发展中,监视键返回到后事件经常被用来,在下面的例子来说明什么android返回键事件监听器. public class BackKeyTest extends Activity {/* ...

  8. Android系统onKeyDown监控/拦截/监听/屏蔽返回键、菜单键和Home键

    我们可以在很多应用中都能看到按两次返回键退出 , 其实这个功能实现很容易, 下面就是实现的代码 , 把它放到你的程序中你的程序就能按两次返回键退出啦  , 这个功能是为了避免误点而把程序退出了 ,给你 ...

  9. 数据防泄漏 | 禁止PrintScreen键

    在数据防泄漏软件,通常会禁止 PrintScreen 键,防止通过截屏来将数据保存为图片而导致泄密. 这类软件如果想要实现是比较简单的,但是想要将功能做的强大些,还是需要下功夫的.以前使用过一款数据防 ...

最新文章

  1. 计算机网络向用户提供的最重要的功能
  2. 2.控制反转 spring_ioc
  3. python2.7+opencv3.1人脸识别
  4. mysql导入数据比原来多_Oracle和MySQL的数据导入,差别为什么这么大
  5. Android音频开发(六)音频编解码之初识MediaCodec上
  6. Android开发笔记(一百二十二)循环器视图RecyclerView
  7. win7做wifi服务器
  8. The (Near) Future of Database | TiDB DevCon 2019
  9. 分区助手服务器,分区助手专业版
  10. 做了一款DTU,网络通信模块化,代码开源,可以二次开发
  11. 视频怎么制作动图?教你一招视频gif制作的方法
  12. 2014-7-17 NOIP模拟赛
  13. HTML5网页设计阶梯教程(3)——编辑图片
  14. 物联网操作系统碎片化问题分析与思考
  15. 精华QT安装:qt-opensource-windows-x86-5.14.1
  16. CocosCreator 物理引擎-关节
  17. Activemq的集群
  18. 快解析结合象过河erp
  19. 笑话大全爬虫实战笔记[xiaohua.zol.com.cn]
  20. #PPT进阶——效果聚焦

热门文章

  1. URLshorting网址短链接PHP源码 开源源码
  2. vCard主题个人简历主题
  3. PHP格子在线自动发卡网源码 全新一键安装版
  4. android datepicker 参数设置,如何在Android DatePicker中设置最小和最大日期?
  5. mysql如何实现树状结构_实现树状结构的两种方法
  6. java 查找链表中间元素_java查找链表中间元素_如何通过Java单次查找链表的中间元素...
  7. HTML只言片语网站导航模板
  8. 在线邮箱订阅反馈html5模板
  9. 打开链接跳转浏览器代码
  10. 价值800的swapidc鸟云模板