在片段中的onOptionsItemSelected()中使用openOptionsMenu()

时间:2015-03-28 07:54:19

标签: android android-fragments menu menuitem oncreateoptionsmenu

我的操作栏右侧有设置按钮。

来自main.xml

rsc/menu

  <item
    android:id="@+id/action_settings"
    android:icon="@drawable/settings"
    android:orderInCategory="1"     
    android:showAsAction="ifRoom"
    android:title="Settings" />
  <item
    android:id="@+id/action_help"
    android:orderInCategory="2"     
    android:showAsAction="withText"
    android:title="Help" />

我想在操作栏中按此按钮后打开包含其他项目的菜单。 所以我已在getActivity().openOptionsMenu()函数中添加了onOptionsItemSelected()我的片段:

    @Override
        public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
            menu.clear();
            inflater.inflate(R.menu.main, menu);
            super.onCreateOptionsMenu(menu, inflater);
        }
        public boolean onOptionsItemSelected( MenuItem item) {

            switch (item.getItemId()) {

            case R.id.action_help:{
                //make help activity
            }
                return true;                       

            case R.id.action_settings:{

                getActivity().openOptionsMenu();
                }
                    return true;

            default:
                return super.onOptionsItemSelected(item);
            }

        }  

据我了解,我们无法在openOptionsMenu()中使用onCreateOptionsMenu() 但是如何通过另一种方式解决这个问题?

0 个答案:

没有答案