动作按钮显示在所有片段中

时间:2014-04-20 00:44:05

标签: android android-fragments android-viewpager

我在片段中添加了一个菜单。 但是当我在viewpager中转到其他片段(而不是覆盖菜单)时,即使设置setHasOptionsMenu(false),操作按钮也保持不变(包含所有操作)。

任何人都知道如何在其他片段中禁用操作按钮,或者您需要在每个片段中为空菜单充气吗?

提前致谢

这是我的代码(片段中):

@Override

    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    menu.clear();
    inflater.inflate(R.menu.main, menu);

    }

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);


}

1 个答案:

答案 0 :(得分:0)

您需要从setHasOptionsMenu Fragment致电onCreateView,告诉Activity片段有选项菜单。这样就可以调用onCreateOptionsMenu

 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View row =  inflater.inflate(R.layout.fragment_main, container, false);

    setHasOptionsMenu(true);
    return row;
}

并且,在onCreateOptionsMenu中,只需清除菜单项

即可
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    menu.clear();
    super.onCreateOptionsMenu(menu, inflater);
}