Java 修改同一活动片段之间的topbar

Java 修改同一活动片段之间的topbar,java,android,android-studio,Java,Android,Android Studio,我一直在尝试几种方法来实现这一点,但并没有真正实现。 我想要的很简单,不同的片段显示不同的TopBar(或appbars,或Toolbar),具有不同的标题和选项。如图所示: 实现这一点的正确方法是什么?这很容易。在片段xml代码中设置工具栏,并调用一个片段容器中的每个不同片段 因此,您将能够为不同的片段创建不同的工具栏。解决方案 我没有导航到主片段,因此它从未正确执行onCreate方法,因为topbar尚未创建是否应该在活动中定义工具栏?我的意思是,在每个xml片段中重新定义工具栏听起来

我一直在尝试几种方法来实现这一点,但并没有真正实现。 我想要的很简单,不同的片段显示不同的TopBar(或appbars,或Toolbar),具有不同的标题和选项。如图所示:


实现这一点的正确方法是什么?

这很容易。在片段xml代码中设置工具栏,并调用一个片段容器中的每个不同片段


因此,您将能够为不同的片段创建不同的工具栏。

解决方案


我没有导航到主片段,因此它从未正确执行onCreate方法,因为topbar尚未创建

是否应该在活动中定义工具栏?我的意思是,在每个xml片段中重新定义工具栏听起来不太好,然后在工具栏上进行编程更改。使用if/else检查片段id,然后设置标题、图标和菜单。希望这会有帮助((AppCompatActivity)getActivity()).getSupportActionBar().setTitle();尝试使用AppCompat工具栏而不是AndroidX工具栏在片段中定义多个工具栏。它不是最优的,但是如果工具栏变化太大,它是一个完美有效的用例