2

我有一個活動,其中包含3個片段。在活動中有一個沒有菜單項的工具欄。菜單項通過片段onCreateOptionsmenu()添加。僅爲活動或每個片段分別製作一個工具欄?

我的代碼:

在片段 的onCreate

()

setHasOptionsMenu(true); 

onCreateOptionsMenu()

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

這對所有3個片段一樣,除了R.menu.是不同的。因此取決於哪個片段被打開ABC菜單將會改變。 但是,工具欄只在我的Activity中被調用,其中包含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); 

在Activity XML中,片段在工具欄下調用。所有這一切說。在活動中調用工具欄還是分別在每個片段中調用工具欄更好?

回答

3

在活動中調用工具欄還是分別在每個片段中調用工具欄會更好嗎?

我的建議是>在Activity中初始化工具欄,在活動中創建方法來更新/添加/刪除工具欄的標題等。並從碎片中調用這些方法。所以,在一個地方定義/聲明它,並通過從片段調用方法(在活動中)來利用它。

+0

謝謝你,簡單而簡單。我會在9分鐘內接受答案。 –

+0

@IvanJavorovic當然,快樂編碼。 – AAnkit

相關問題