我在片段中添加了一个菜单。 但是当我在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);
}
答案 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);
}