如何从工具栏中删除特定的 android 子菜单?

How to remove a specific android SubMenu from toolbar?

我有一个片段,当添加到视图时,工具栏中应该有某些伴随的菜单项。因此,当创建片段时,我将子菜单添加到 activity 的工具栏菜单。

问题是,如果我离开 return 片段,那么我会得到该子菜单的多个实例。所以我想做的是从工具栏菜单中删除一个特定的子菜单。我所能找到的只是一种从菜单中删除所有项目的方法,但我也不想这样做,因为我想保留其他项目。

有人有删除特定子菜单的策略吗?

如果操作正确,子菜单应该不会创建两次。

在你的片段中:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true); //this line is important
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    // TODO Add your sub menu entries here
    super.onCreateOptionsMenu(menu, inflater);
}