首页 > 代码库 > Fragment中onOptionsItemSelected方法不起作用的解决方法

Fragment中onOptionsItemSelected方法不起作用的解决方法

以前一般都是在Activity中添加menu菜单,一般是重写onCreateOptionsMenu和onOptionsItemSelected方法。

现在Fragment用的多了,就在Fragment里面添加menu菜单,也是重写了onCreateOptionsMenu和onOptionsItemSelected方法,但是发现没有效果。在源代码中可以发现,这跟一个叫mHasMenu的boolean变量有关系。这个变量控制Fragment的menu菜单的添加。如果mHasMenu为false,那么是不会执行onCreateOptionsMenu方法的,也就是不会添加Fragment的menu菜单。

所以,要想在Fragment中使用menu菜单,需要在onCreate()方法里面添加语句setHasOptionsMenu(true);

Fragment中onOptionsItemSelected方法不起作用的解决方法