AlertDialog禁止返回键
解决的问题:软件提示升级的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禁止返回键相关推荐
- 修改AlertDialog各组件颜色、字体等属性、禁止返回键、外框不消失、android9.0不居中显示问题解决
修改AlertDialog各组件颜色.字体等属性 像下图这种Dialog该怎么实现呢? 乍一看视觉效果还可以,但当我们想改变一下标题的文字颜色或者按钮颜色应该怎么做呢? 查看源码 public cla ...
- Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭
AlertDialog.Builder builder = new Builder(this); builder.create().show(); 这样显示出来的对话框,当用户按返回键或搜索键时,这个 ...
- android按任意建关闭对话框,Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭...
AlertDialog.Builder builder = new Builder(this); builder.create().show(); 这样显示出来的对话框,当用户按返回键或搜索键时,这个 ...
- Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭...
AlertDialog.Builder builder = new Builder(this); builder.create().show(); 这样显示出来的对话框,当用户按返回键或搜索键时,这个 ...
- 禁止home 与返回键 android源码来电话时容易拒接
屏蔽键重写activiy的两个方法就行 屏蔽返回键 public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { ...
- 返回键捕获 应用程序退出的两种方式(转)
作为应用程序一个较好的用户体验应该是:在退出应用程序前询问用户是否真正退出?目前普遍做法是,一在退出前询问是否真正退出,二是连续按两下退出. 返回键捕获 应用程序退出的两种方式 实现上述两种应用退出方 ...
- Android监视返回键
android在发展中,监视键返回到后事件经常被用来,在下面的例子来说明什么android返回键事件监听器. public class BackKeyTest extends Activity {/* ...
- Android系统onKeyDown监控/拦截/监听/屏蔽返回键、菜单键和Home键
我们可以在很多应用中都能看到按两次返回键退出 , 其实这个功能实现很容易, 下面就是实现的代码 , 把它放到你的程序中你的程序就能按两次返回键退出啦 , 这个功能是为了避免误点而把程序退出了 ,给你 ...
- 数据防泄漏 | 禁止PrintScreen键
在数据防泄漏软件,通常会禁止 PrintScreen 键,防止通过截屏来将数据保存为图片而导致泄密. 这类软件如果想要实现是比较简单的,但是想要将功能做的强大些,还是需要下功夫的.以前使用过一款数据防 ...
最新文章
- 计算机网络向用户提供的最重要的功能
- 2.控制反转 spring_ioc
- python2.7+opencv3.1人脸识别
- mysql导入数据比原来多_Oracle和MySQL的数据导入,差别为什么这么大
- Android音频开发(六)音频编解码之初识MediaCodec上
- Android开发笔记(一百二十二)循环器视图RecyclerView
- win7做wifi服务器
- The (Near) Future of Database | TiDB DevCon 2019
- 分区助手服务器,分区助手专业版
- 做了一款DTU,网络通信模块化,代码开源,可以二次开发
- 视频怎么制作动图?教你一招视频gif制作的方法
- 2014-7-17 NOIP模拟赛
- HTML5网页设计阶梯教程(3)——编辑图片
- 物联网操作系统碎片化问题分析与思考
- 精华QT安装:qt-opensource-windows-x86-5.14.1
- CocosCreator 物理引擎-关节
- Activemq的集群
- 快解析结合象过河erp
- 笑话大全爬虫实战笔记[xiaohua.zol.com.cn]
- #PPT进阶——效果聚焦
热门文章
- URLshorting网址短链接PHP源码 开源源码
- vCard主题个人简历主题
- PHP格子在线自动发卡网源码 全新一键安装版
- android datepicker 参数设置,如何在Android DatePicker中设置最小和最大日期?
- mysql如何实现树状结构_实现树状结构的两种方法
- java 查找链表中间元素_java查找链表中间元素_如何通过Java单次查找链表的中间元素...
- HTML只言片语网站导航模板
- 在线邮箱订阅反馈html5模板
- 打开链接跳转浏览器代码
- 价值800的swapidc鸟云模板