本帖最后由 Mr_Jis 于 2012-02-23 11:47:36 编辑

解决方案 »

  1.   

    根据文档提示:True if the listener has consumed the event, false otherwise
      

  2.   

    返回false表示当前不处理,往上一层传递,
    返回true,表示当前处理OK
      

  3.   

    看完楼上的回答能明白的就牛逼了。
    我说的简单点,android里面的按键事件都是一层一层分发的,每一次处理都默认的调super方法,这样就能保证能一层一层下去。如果你重写按键事件,显示的return true,就表示你消耗掉了这个按键事件,消息发到你这里被消耗掉,不再往下发。return false 则是没有消耗这个按键并不是不处理,你可以写个demo,实际上还是处理了的,只是不会继续分发,因为已经被你return掉了。
    原则上应该是这样的,你需要处理的按键你就return true,不需要处理的按键事件就return super.XXX这样你不要处理的按键可以继续发下去。