Меню фрагментов 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);
}
Другие вопросы по тегам