Android 如何监听返回键,弹出一个退出对话框
Android 如何监听返回键点击事件,并创建一个退出对话框,
防止自己写的应用程序不小心点击退出键而直接退出。自己记录下这个简单的demo,备用。
注:如下代码当时是从网上copy过来的,现在忘了它出自哪个原作者了,在此说声抱歉。
源码如下:
- public class BackKeyTest extends Activity
- {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event)
- {
- if (keyCode == KeyEvent.KEYCODE_BACK )
- {
- // 创建退出对话框
- AlertDialog isExit = new AlertDialog.Builder(this).create();
- // 设置对话框标题
- isExit.setTitle("系统提示");
- // 设置对话框消息
- isExit.setMessage("确定要退出吗");
- // 添加选择按钮并注册监听
- isExit.setButton("确定", listener);
- isExit.setButton2("取消", listener);
- // 显示对话框
- isExit.show();
- }
- return false;
- }
- /**监听对话框里面的button点击事件*/
- DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener()
- {
- public void onClick(DialogInterface dialog, int which)
- {
- switch (which)
- {
- case AlertDialog.BUTTON_POSITIVE:// "确认"按钮退出程序
- finish();
- break;
- case AlertDialog.BUTTON_NEGATIVE:// "取消"第二个按钮取消对话框
- break;
- default:
- break;
- }
- }
- };
- }
小结:
Android手机常用的三个键,home键,back键及menu键。
在应用程序里我们经常会对它们经常进行一定的处理,方便用户使用。
首先我们要明确点击三个键时系统干了什么事,
如果没有进行监听处理,
点击home键时,系统默认只执行应用程序的当前显示的Activity的onStop()方法后跳出界面。
而点击back键时,系统默认执行的是应用程序当前Activity的finish()方法后跳出界面。
而点击menu键时,系统默认不进行任何处理。
这里只是一个简单的应用demo,我们可以根据自己的需要设计一个更完美的退出程序对话框。
也可以在监听到返回事件后进行其他处理,等等。
Android 如何监听返回键,弹出一个退出对话框相关推荐
- android设置返回按钮无效,Android onKeyDown监听返回键无效的解决办法
Android onKeyDown监听返回键无效的解决办法 当我们的Activity继承了TabActivity,在该类中重写onKeyDown是监听不到返回键的, 具体解决方法如下: 重写dispa ...
- Android下监听返回键、home键、任务键
1.监听返回键 @Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYC ...
- Android页面监听虚拟键盘弹出、收起
js 移动端关于页面布局,如果底部有 position: fixed 的盒子, 又有input,当软键盘弹出收起都会影响页面布局. 如图: 页面这时候Android可以监听resize事件,代码如下, ...
- java-swing-事件监听-MouseEvent-右键弹出菜单
这篇文章对 MouseEvent 想说的主要是关于鼠标右键弹出菜单的一些体会 关于MouseEvent的一些信息 事件名称:MouseEvent 事件监听接口:MouseListener 需要注意的是 ...
- Android onKeyDown监听返回键无效
当我们的Activity继承了TabActivity,在该类中重写onKeyDown是监听不到返回键的, 具体解决方法如下: 重写dispatchKeyEvent /*** 退出*/@Override ...
- android重写返回按钮点击事件,Android Fragment监听返回键
场景:在项目中做联系人界面时,需要按名字和按部门显示联系人,此处使用2个fragment切换显示,按部门显示需要体现部门层级关系,需要实现点击返回上级部门.因为Fragment并不能像在Actvity ...
- android webview监听软键盘弹出和隐藏来修改虚拟导航栏颜色
最近项目中用到了webview,然后里面有输入框,当我们点击输入框的时候,软键盘挡住了布局,这就尴尬了,并且产品说,只有在软键盘弹出的时候底部的虚拟导航栏为黑色,软键盘隐藏的时候虚拟导航栏应该也隐藏. ...
- Android Fragment 监听返回键
直接给代码*-* Fragment: public boolean onKeyDown(int keyCode, KeyEvent event){if ((keyCode == KeyEvent.KE ...
- 在Android中实现监听 返回键,主键,菜单键
一.监听 返回键 onKeyDown方法和onBackPressed方法 onKeyDown: 是当某个按键被按下是触发.所以也有人在点击返回键的时候去执行该方法来做判断.(该方法只是android ...
最新文章
- 使用DDMS中的内存监测工具Heap来优化内存
- (最短路径算法整理)dijkstra、floyd、bellman-ford、spfa算法
- sed 和 awk 的一些用法
- Spring 3.2矩阵变量是什么? - 第1部分
- 深入理解Magento – 第二章 – Magento请求分发与控制器
- Razor 中的@rendersection
- C++_运算符重载 再思考
- 论文阅读-Rethinking ImageNet Pre-trainging
- 穿山甲广告。swift穿山甲广告40001报错
- smtplib库:Python使用QQ邮箱发送邮件
- pymysql无法访问本地计算机,使用Python和odo模块在mysql上加载csv时出错
- 《谋圣鬼谷子》曝片花 徐麒雯饰演“姮娥”
- 【Flink】搭建单机环境
- 我最喜欢的五款手机APP 简直就是生活的小帮手
- Python3下的NLTK及nltk_data安装问题(Ubuntu环境)
- delphi cef写入html,Delphi XE 10.2.3使用CEF4Delphi取网页元素时碰到nbsp;变问号?的处理...
- auto.js之界面ui
- docker_mysql
- python内建函数是什么_python的内建函数在什么位置
- 昆明机场至南亚东南亚国家通航点达34个 居全国首位
热门文章
- 【小白从小学Python、C、Java】【计算机等级考试二级-必会题】【ASCII码与字符相互转化】
- 蚂蚁金服的to B开放
- java中result的作用_JAVA中的Resultset
- 移动DRM技术分析与应用策略
- July, 19(R)
- 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(19):不定积分(补充知识)
- 人生经典定律[收藏] 1
- python 知乎 合并 pdf_实例4:用Python提取不同PDF文件中的页面合并进新的PDF文件...
- 02-K3S 架构及快速入门
- SpringBoot从入门到精通教程(七):集成Redis