android onkeydown继承,onKeyDown方法中的返回值

今天调了一个非常蛋疼的bug,花了差不多一个小时的时间,在应用内的某个activity中不能使用设备的音量调节按钮调节音量,开始以为是因为window的某些flag导致的,试了试,貌似没有影响,后来又查manifest,也没有什么问题,最后还是定位到activity的代码上。读了半天代码没发现有哪异样的地方,只能苦比地一点一点删,看删了哪些部分以后会有影响,最后终于发现是override onKeyDown方法的时候的问题.@Override

publicbooleanonKeyDown(intkeyCode,KeyEventevent){

if(keyCode==KeyEvent.KEYCODE_BACK){

close();

}

returntrue;

}

本来是想用户按了返回键以后,执行关闭操作。但是在最后很随意地返回了一个true,最终导致这一个多小时的悲剧。先看看onKeyDown对return值的说明。

public boolean onKeyDown (int keyCode, KeyEvent event)

Returns

Return true to prevent this event from being propagated further, or false to indicate that you have not handled this event and it should continue to be propagated.

返回true表示你已经处理了,就不会在onKeyDown的事件中继续传递,所以相当于在当前activity中,所有的keyevent都被拦截了,但是对于cl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值