onMenuItemSelected与onOptionsItemSelected的区别,分别是在什么时候调用,我怎么发现我点击菜单时,两个方法都调用了,还有onMenuItemClick也调用了为什么声明这么多功能同样的事件呢,估计我没理解它们真正的用处,故此一问

解决方案 »

  1.   

    android的菜单有ContextMenu 和 OptionsMenu,一般情况下,前者是长按时弹出,后者是按手机硬件菜单弹出。两者并不冲突哈!
    无论弹出Context menu还是Option menu,点击它们的某一菜单项,都会执行onMenuItemSelected。
    而onOptionsItemSelected是响应Option menu的点击菜单项事件。
    因此一个是对应两种菜单的响应事件(通用),另一个只针对Option 菜单的响应事件(定向)。
    楼主可以选择性的使用,如果仅仅是需要点击菜单键(Option menu),那么只需要重写onOptionsItemSelected方法即可。
      

  2.   

    哦 忘了,还有onMenuItemClick事件被响应肯定是楼主的menu item项都实现了监听器OnMenuItemClickListener,所以也会被触发调用