Android_监听中的return的理解

比如在OnTouch事件中,return true说明已经消费完了OnTouch事件,执行完了OnTouch里面的代码之后,这个OnTouch事件也就结束了。

return false说明还没有消费OnTouch事件,执行完了OnTouch里面的代码之后,OnTouch事件并没有结束,会自动执行默认处理(Gallery中View里的OnTouch)。

 

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

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

posted @ 2015-05-04 15:49  Saraline  阅读(459)  评论(0编辑  收藏  举报