注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

linux 学习

 
 
 

日志

 
 

activitygroup返回键处理  

2012-07-11 13:52:05|  分类: 安卓 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在ActivityGroup中捕获back键,以便在退出时做一次提示

但是在ActivityGroup中重载onKeyDown无法捕获,onKeyDown没有被执行

于是重载dispatchKeyEvent 。

只是把别人的activity的onkeydown稍微改了一下

  1. @Override  
  2.     public boolean dispatchKeyEvent(KeyEvent event) {  
  3.         System.out.println(KeyEvent.KEYCODE_BACK+"----"+event.getKeyCode()+"-----"+event.getAction());        
  4.         long exitTime = 0;           
  5.             if(event.getKeyCode()==KeyEvent.KEYCODE_BACK && event.getAction()==KeyEvent.ACTION_DOWN){  
  6.                 if((System.currentTimeMillis()-exitTime) > 2000){     
  7.                     Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();     
  8.                     exitTime = System.currentTimeMillis();     
  9.                 } else {     
  10.                     finish();     
  11.                     System.exit(0);     
  12.                 }     
  13.                 return true;     
  14.   
  15.             }       
  16.            
  17.        return super.dispatchKeyEvent(event);  
  18.     } 

也可以把按键发送给子的activity 中
  1. @Override  
  2.     public boolean dispatchKeyEvent(KeyEvent event) {  
  3.             if(event.getAction()==KeyEvent.ACTION_DOWN){ 
                 getLocalActivityManager().getActivity(CURID).onKeyDown(event.getKeyCode(), event);
  4.             }       
  5.            
  6.        return super.dispatchKeyEvent(event);  
  7.     } 
其中 CURID 是  getLocalActivityManager().startActivity(CURID, intent)  时设置的 。


  评论这张
 
阅读(1556)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017