【问题标题】:Make a Toolbar just for the Activity or for each fragment separately?为 Activity 或单独为每个片段制作一个工具栏?
【发布时间】:2015-11-13 00:00:02
【问题描述】:

我有一个包含 3 个片段的 Activity。在活动中有一个没有菜单项的工具栏。菜单项通过片段 onCreateOptionsmenu() 添加。

我的代码:

在片段中onCreate()

setHasOptionsMenu(true);

onCreateOptionsMenu()

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

除了R.menu. 不同之外,所有 3 个片段都相同。因此,根据打开的 Fragment ABC,菜单会发生变化。 然而,工具栏只在我的 Activity 中被调用,它包含 3 个片段。

活动onCreate()

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

Activity 也有一个 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 中,片段在工具栏下被调用。 说了这么多。是在Activity中调用Toolbar还是在每个Fragment中单独调用更好?

【问题讨论】:

    标签: android android-fragments fragment toolbar android-optionsmenu


    【解决方案1】:

    Toolbar是在Activity中调用好还是在每个Fragment中单独调用好?

    我的建议是 > 在 Activity 中初始化工具栏,在 Activity 中创建方法来更新/添加/删除工具栏的标题等。并从片段中调用这些方法。所以,在一个地方定义/声明它,并通过从片段中调用方法(在活动中)来使用它。

    【讨论】:

    • 谢谢,简短而简单。我会在 9 分钟内接受答案。
    • @IvanJavorovic 当然,快乐编码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    • 2011-11-08
    相关资源
    最近更新 更多