[英]Menuitems in my Fragments do not change according to the code for the first time I access Activity
我正在使用带有片段的ActionBarActivity。
我已经更改了菜单项必须在动作栏中显示太多次的实现方式。 例如,将onCreateOptionsMenu的本地更改为Activity和Fragments。
第一个片段不得显示菜单项,而另一个片段必须显示另一个菜单项。 其他片段正常显示菜单项。
问题是:当我第一次进入活动时,菜单项不会显示在任何片段中。 如果我旋转设备,一切正常。
在我的其他尝试中,行为更改为:当我第一次进入活动时,菜单项显示在所有片段中(第一个片段具有setHasOptionsMenu(false);)。 而且具有另一个menuitem的片段不显示它。
对不起,英语不好。
工作代码(旋转设备后):
FirstFragment:
public void onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
int count = menu.size();
for (int i = 0; i < count; i++) {
menu.getItem(i).setVisible(false);
}
}
主要活动:
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);
但这没用。 然后,我在构造函数中调用的其他方法中使用了它,并与代码一起刷新了片段,它现在可以工作了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.