Проблемы с реализацией меню опций на панели действий

Доброе утро! У меня возникают некоторые проблемы, когда я пытаюсь правильно отобразить меню параметров на панели действий. Это то, что у меня есть: Основная деятельность начинается с ActionBarActivity. Я объявил 3 фрагмента: A, B и C. Внутри B я объявил два фрагмента, B1 и B2. B2 расширяется от SUpporMapFragment. Выбранная навигация по фрагменту B называется TAB_NAVIGATION. Оба A и C имеют стандартную навигацию.

Фрагмент В2:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    inflater.inflate(R.menu.menu, menu);
}

Проблема в том, что меню появляется во фрагментах A и C, когда это должно произойти. На обоих фрагментах A и C у меня есть следующее:

@Override
public void onCreate(Bundle savedInstanceState) {       
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(false);       
}

Поведение следующее. Когда я запускаю свое приложение, фрагменты A и C имеют видимое меню параметров. Когда я иду к B, если я нахожусь в B1 и возвращаюсь к A или C, меню исчезает. Если я пойду к B2 и вернусь к A или C, появится меню. Я его отладил, и когда я щелкаю фрагмент A или C после фрагмента B2, фрагмент A или C вызывает onCreateOptionsMenu из фрагмента B2. Любая помощь будет отличной!

1 ответ

Решение

Решено с помощью управляющих переменных. Я вызываю onCreateOptionsMenu в моей основной деятельности:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    if (posicionFragmento==1 && Listado_tiendas_mapas_fragment.seleccionFragmentoMenu){
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
    }       
    return true;
}
Другие вопросы по тегам