想必android中的ContextMenu大家都很熟悉了,这段时间我在activity当中为一个组件注册了contextMenu后发现长按这个组件ContextMenu就是不出来。因为ContextMenu的原理就相当于当我们出发了这个组件的longClick事件后为我们生成一个菜单。是不是我这个组件的longClick事件一直没有被触发?
简单分析过后我突然想起,我重写了我这个组件的OnTouch,在这个函数当中由于我开始自认为消费了这个event,所以我都返回的true。于是事件就不回继续向下传递,当然就不会出现contextMenu了。所以我把OnTouch中的返回值改为false的时候,这个ContextMenu就出现啦!