android 当Activity中弹出对话框时,无法监听返回键
来源:互联网 发布:惠州综合网络问政平台 编辑:程序博客网 时间:2024/06/05 11:03
注:http://www.voidcn.com/blog/az313/article/p-214842.html
当你的Activity 已经显示了Dialog时候. 通过下面的方法都是无法监听到返回键事件的:
1、重写onKeyDown或者onKeyUp方法;
2、重写onBackPressed方法;
3、重写dispatchKeyEvent方法;
因为上述方法是重写在activity里面的,也就是说当activity是当前焦点时,它可以捕捉到相应的back键事件,而有dialog弹出时,dialog获取了当前焦点,所以activity里面的方法无法获取到back键事件。
可以使用下面方法监听:
1、自定义的Dialog,该监听只对返回键有效,当点击Dialog中的按钮dismiss的时候,不会回调;
resultDialog.setOnCancelListener(new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { System.out.println("dismiss listener----------"); } });
2、Dialog中重载下面方法;
public boolean dispatchKeyEvent(KeyEvent event){ switch(event.getKeyCode()){ case KeyEvent.KEYCODE_BACK: System.out.println("dismiss listener----------"); break; default: break; } return super.dispatchKeyEvent(event); }
3、设置监听回调;
resultDialog.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount()==0){ System.out.println("dismiss listener----------"); } return false; } });
0 0
- android 当Activity中弹出对话框时,无法监听返回键
- android 当Activity中弹出对话框时,无法监听返回键
- android 当Activity中弹出对话框时,无法监听返回键
- Android 中弹出对话框 代码
- Android Service中弹出全局对话框
- android在Service中弹出Dialog对话框
- Android在Service中弹出对话框(Dialog)
- Android中弹出对话框的实现
- android service中弹出dialog对话框
- Android Service中弹出全局对话框
- Android在广播接收者中弹出对话框
- Android菜鸟笔记-Service中弹出对话框,即全局性质Dialog不依赖于Activity
- android activity返回键监听
- android 对话框中弹出对话框原对话框关闭
- Swing中弹出对话框
- c#中弹出对话框
- MFC中弹出对话框
- java中弹出对话框
- java学习笔记___计算机语言发展史___java发展史
- Face Alignment at 3000 FPS通俗易懂讲解一 随机森林的生成
- HDU-畅通工程-1232
- Linux时间编程
- 深入浅出密码学---仿射加密
- android 当Activity中弹出对话框时,无法监听返回键
- nyoj106_背包问题(贪心or多重背包解法)
- 博为峰Java技术文章 ——JavaEE Hibernate实例状态
- 2017危中有机,中国股市和黄金大概率走牛
- 29.最小的K个数
- Web Service 浅谈-写的好清晰
- osg笔记三
- ThreadLocal详解
- jquery form表单.serialize()序列化后中文乱码问题原因及解决decodeURIComponent