在app活动中,我有四个不同的片段。我已经使用
为每个片段添加了菜单@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {}
功能。但是,当我滑动到下一个片段,然后回到上一个片段时,下一个片段的菜单选项被添加到当前可见片段的菜单中。还在menu.clear()
中添加了第一个语句onCreateOptionsMenu()
,但没有效果。坚持这个问题。
答案 0 :(得分:0)
在每个片段OnCreate
和OnCreateView
方法中,请确保拨打setHasOptionMenu(true)
,如下所示。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_list, container, false);
...
setHasOptionsMenu(true);
return rootView;
}
还要检查您是否正在呼叫super.onCreateOptionsMenu
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.list_menu, menu);
super.onCreateOptionsMenu(menu, inflater);
}