我正在尝试在显示片段时在操作栏中显示一个按钮,并在显示其他片段时隐藏按钮。
我覆盖onCreateOptionsMenu
方法:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.main, menu);
MenuItem item= menu.findItem(R.id.action_example);
item.setVisible(true);
super.onCreateOptionsMenu(menu,inflater);
}
并使用setHasOptionMenu(true)
:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
我做了一个测试,我注意到最初按钮没有出现在另一个片段中,但是在我打开片段之后我把这个代码放在上面,按钮也显示在另一个片段中。
答案 0 :(得分:0)
您缺少的是删除片段的onDestroy中的optionsMenu。您描述的行为符合您的代码:创建Fragment时,您还可以创建选项菜单。碎片被销毁时不会自动销毁。