当前位置: 首页 > news >正文

(转)什么时候调用Dialog的dismiss()方法

调用Dialog的dismiss()方法的方式:

1. 重写Dialog的onKeyDown()方法里进行调用:

 

Java代码   收藏代码
  1. @Override  
  2.     public boolean onKeyDown(int keyCode, KeyEvent event) {  
  3.         Log.d(Constant.TAG,"dialog onKeyDown");  
  4.         if(keyCode == KeyEvent.KEYCODE_BACK) {  
  5.             dismissOut();  
  6.             return true;  
  7.         }  
  8.         return super.onKeyDown(keyCode, event);  
  9.     }  

 

 会出现的问题:如果用一直按住Back键,则会一直调用dismissOut方法,会让退出动画不停的执行。

2. 重写Dialog的onKeyUp()方法里进行调用:

Java代码   收藏代码
  1. @Override  
  2.     public boolean onKeyUp(int keyCode, KeyEvent event) {  
  3.         Log.d(Constant.TAG,"dialog onKeyDown");  
  4.         if(keyCode == KeyEvent.KEYCODE_BACK) {  
  5.             dismissOut();  
  6.             return true;  
  7.         }  
  8.         return super.onKeyUp(keyCode, event);  
  9.     }  

 会出现的问题:用户按下Back键,退出的Dialog出来,用户松开Back键,退出的Dialog就会马上消失

3. 重写Dialog的onBackPressed()方法里进行调用:

Java代码   收藏代码
  1. @Override  
  2.     public void onBackPressed() {  
  3.         Log.d(Constant.TAG,"dialog onKeyDown");  
  4.         dismissOut();  
  5.     }  

 这样就没有问题了。

 

其实onBackPressed()方法也是在onKeyUp方法里进行调用的,只是做了判断,代码如下:

Java代码   收藏代码
  1. public boolean onKeyUp(int keyCode, KeyEvent event) {  
  2.         if (keyCode == KeyEvent.KEYCODE_BACK && event.isTracking()  
  3.                 && !event.isCanceled()) {  
  4.             onBackPressed();  
  5.             return true;  
  6.         }  
  7.         return false;  
  8.  }  


转自:http://handsomeliuyang.iteye.com/blog/1392299

http://www.xdnf.cn/news/794773.html

相关文章:

  • <Linux开发> linux开发工具-之-I2C TOOLS工具使用
  • 盗号不是只有黑客才能到,一枚普通的Python程序员也可以!
  • 正规好用的电脑端抽奖软件有哪些?
  • 实验吧-密码学(三)
  • 教师一定要看的15部电影
  • LINUX下的SD卡分区
  • 基于ASP.NET的教学管理系统设计与实现(源码+数据库+部署)
  • 计算机提示d3dx9_43.dll丢失怎么解决,全面解析多种解决方法
  • WEB2.0的特点、原则和设计模式
  • 基于matlab基本放大电路仿真,基于MATLAB的控制器仿真
  • 彩虹显IP 后两位星号 解决方案 全显IP
  • [知乎]关于WindowsXPx64SP2系统的说明
  • FLASH常见问题
  • 学术-几何:黑森错觉
  • java-23种设计模式概述【软件设计模式基本介绍(是什么、作用、优点)、模式的分类和介绍】
  • Windows11系统mshwstaging.dll文件丢失问题
  • 盘点那些年我们一起玩过的网络安全工具
  • Arduino简介与基础指令
  • 动态规划算法(背包问题)
  • 较为深入的了解c++中的string类(1)
  • V.24;V.35;ISDN;E1…
  • Linux下的SecureCRT
  • 5 mysql 凤舞天骄_凤舞天骄私服服务端菜鸟架设步步走
  • 金蝶K3运行时错误-2147467238(8000401a)Automation错误
  • 配色色卡资源整理
  • 盘点Windows10系统的使用小技巧三 —— 虚拟桌面
  • 彻底卸载SqlServer2008R2
  • linux下查看文件
  • React-Native集成极光推送(Android和IOS)
  • AVR Mega16的熔丝位用法总结