我的 Fragments 中的菜单项在我第一次访问时没有根据代码更改 Activity

Menuitems in my Fragments do not change according to the code for the first time I access Activity

我正在使用带片段的 ActionBarActivity。

我已经多次更改菜单项必须如何在操作栏中显示的实现。比如把onCreateOptionsMenu的local改成Activity,Fragments.

第一个片段不得显示菜单项,另一个片段必须再显示一个菜单项。其他片段正常显示菜单项。

问题:当我第一次进入 activity 时,菜单项没有显示在任何片段中。如果我旋转设备,一切正常。

在我的其他尝试中,行为更改为:当我第一次进入 activity 时,菜单项显示在所有片段中(第一个具有 setHasOptionsMenu(false);)。并且多了一个菜单项的片段不显示。

抱歉英语不好。

工作代码(旋转设备后):

第一个片段:

    public void onPrepareOptionsMenu(Menu menu) {
    super.onPrepareOptionsMenu(menu);

    int count = menu.size();
    for (int i = 0; i < count; i++) {
        menu.getItem(i).setVisible(false);
    }
    }

主要Activity:

public boolean onCreateOptionsMenu(Menu menu) {
    for (int i = 0; i < itens.size(); i++) {
        item = (Item) itens.get(i);

        MenuItem mMenuItem = menu.add(0, i, i, item.getLabel()).setIcon(item.getImage());
        MenuItemCompat.setShowAsAction(mMenuItem, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
    }
    return super.onCreateOptionsMenu(menu);
}

我在构造函数中使用了它:

setHasOptionsMenu(false);

但是没用。然后我在构造函数中调用的其他方法中使用它以及代码来刷新片段,它现在可以工作了。