2

У меня есть Деятельность, которая содержит 3 фрагмента. В Activity есть панель инструментов без элементов меню. Элементы меню добавляются через фрагменты onCreateOptionsmenu().Сделать панель инструментов только для Activity или для каждого фрагмента отдельно?

Мой код:

фрагментарно OnCreate()

setHasOptionsMenu(true); 

onCreateOptionsMenu()

menu.clear(); 
inflater.inflate(R.menu.menu_location_search, menu); 
super.onCreateOptionsMenu(menu, inflater); 

Это то же самое для всех 3-х фрагментов, кроме R.menu. отличается. Поэтому в зависимости от того, какой фрагмент открыт A, B или C Меню изменится. Однако панель инструментов вызывается только в моей деятельности, которая содержит 3 фрагмента.

Acitivty OnCreate()

toolbar = (Toolbar) findViewById(R.id.app_bar); 
setSupportActionBar(toolbar); 

Также активность имеет NavigationDrawer.

NavigationDrawerFragment drawerFragment = (NavigationDrawerFragment) 
      manager.findFragmentById(R.id.fragment_navigation_drawer); 
    drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), toolbar); 

В операции XML фрагменты вызывается под панелью инструментов. Со всем этим сказано. Лучше ли вызывать панель инструментов в Activity или отдельно в каждом фрагменте?

ответ

3

Лучше ли вызывать Панель инструментов в Управлении или отдельно в каждом фрагменте?

Мое предложение -> инициализировать панель инструментов в Activity, создавать методы в действии для обновления/добавления/удаления заголовка и т. Д. Панели инструментов. и вызывать эти методы из фрагментов. Итак, определите/объявите его в одном месте и используйте его, вызывая методы (в действии) из фрагмента.

+0

спасибо, короткий и простой. Я отвечу на ответ через 9 минут. –

+0

@ IvanJavorovic Конечно, счастливое кодирование. – AAnkit