我有3 Fragment
个,在正常(小)布局中都是在单独的活动中。他们应该在小布局中提供选项菜单。
在大型布局中,我在一个Activity中有3个片段,导致菜单填充所有三个片段膨胀的按钮。我该如何防止这种情况,并且只允许活动对选项菜单进行充气,同时仍然在较小的设备上保留该功能?
- 编辑 -
因此每个Fragment使用以下代码:
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
/* Some code */
setHasOptionsMenu(true);
/* Some code */
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){
inflater.inflate(R.menu.mymenu, menu);
}
当显示所有三个片段时,所有片段都会执行onCreateOptionsMenu()
,所有项目都会出现三次。
我想要的是父Activity
负责创建选项菜单。
答案 0 :(得分:2)
在每个片段中,我将构建整个菜单。我所做的是,在Fragments中只添加他们特定的菜单项,在父Activity中我将构建一般项。
答案 1 :(得分:0)
您可以在每个isVisible()
上使用Fragment
方法动态检查正在显示的内容,然后在活动中正确添加。