AlertDialog禁止返回键

简介:
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,如需转载请自行联系原作者


相关文章
|
XML Android开发 数据格式
Android实现ProgressBar旋转菊花加载的动画
Android实现ProgressBar旋转菊花加载的动画 在一些常见到的加载中需要显示一个加载动画,如旋转的菊花这样的动画效果,开发中有两种方案,一种是直接让设计师给出一个gif图片,然后写入到布局,另外一种,使用Android动画,把一张静止的图片动起来,本例用后者实现。
4094 0
|
算法 网络安全 数据安全/隐私保护
证书转换-SSL证书生成:cer,jks文件 韩俊强的博客
一.生成.jks文件 资料:HTTPS-老司机手把手教你SSL证书申购-TrustAsia证书 HTTPS时代已来,手把手指导申请免费SSL证书 1、keystore的生成: 分阶段生成: keytool -genkey -alias yushan(...
8583 0
|
API Android开发 Kotlin
Android实战经验分享之如何获取状态栏和导航栏的高度
在Android开发中,掌握状态栏和导航栏的高度对于优化UI布局至关重要。本文介绍两种主要方法:一是通过资源名称获取,简单且兼容性好;二是利用WindowInsets,适用于新版Android,准确性高。文中提供了Kotlin代码示例,并对比了两者的优缺点及适用场景。
1657 1
|
分布式计算 Hadoop 大数据
大数据技术:Hadoop与Spark的对比
【6月更文挑战第15天】**Hadoop与Spark对比摘要** Hadoop是分布式系统基础架构,擅长处理大规模批处理任务,依赖HDFS和MapReduce,具有高可靠性和生态多样性。Spark是快速数据处理引擎,侧重内存计算,提供多语言接口,支持机器学习和流处理,处理速度远超Hadoop,适合实时分析和交互式查询。两者在资源占用和生态系统上有差异,适用于不同应用场景。选择时需依据具体需求。
|
Java C++
代码文件间重复性测试
本文介绍了如何使用代码相似性检测工具simian来找出代码文件中的重复行,并通过示例指令展示了如何将检测结果输出到指定的文本文件中。
304 2
|
Android开发
Android 中选项菜单(Option menu)的用法
Android 中选项菜单(Option menu)的用法
469 0
|
前端开发 容器
Flutter图片处理之高斯模糊
Flutter图片处理之高斯模糊
603 1
|
XML API Android开发
android S 上 安装apk出现android.os.FileUriExposedException
android S 上 安装apk出现android.os.FileUriExposedException
535 6
|
Linux
Linux中grep命令详解与实战应用
Linux中grep命令详解与实战应用
2492 0

热门文章

最新文章