Меню фрагментов Android - PullRequest
       40

Меню фрагментов Android

0 голосов
/ 01 июня 2018

В приложении у меня есть четыре разных фрагмента.Я добавил меню к каждому фрагменту с функцией

@Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {}

.Но когда я пролистываю до следующих фрагментов и возвращаюсь к предыдущим, пункты меню следующего фрагмента добавляются в меню в текущем видимом фрагменте.Также добавлено первое утверждение menu.clear() в onCreateOptionsMenu(), но без эффекта.Застрял в этом вопросе.

1 Ответ

0 голосов
/ 01 июня 2018

Внутри каждого фрагмента 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);
}
...