Меню фрагментов Android
В приложении у меня есть четыре разных фрагмента. Я добавил меню к каждому фрагменту
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {}
функция. Но когда я пролистываю до следующих фрагментов и возвращаюсь к предыдущим, пункты меню следующего фрагмента добавляются в меню в текущем видимом фрагменте. Также добавлено первое утверждение menu.clear()
в onCreateOptionsMenu()
но без эффекта. Застрял в этом вопросе.
1 ответ
Внутри каждого фрагмента 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);
}