如何使用导航UI组件

时间:2020-08-17 01:08:28

标签: android android-navigation android-titlebar android-components

我有一个来自Android Studio默认布局的工具栏活动,可以通过以下方法轻松更改工具栏中的标题:

    Bundle bundle = new Bundle();
    bundle.putString("toolbarTitle", "A new title");

    NavHostFragment
        .findNavController(this)
        .navigate(R.id.action_navigation_conversation_to_placeholder, bundle);

在导航菜单布局中已经为toolbarTitle实现了安全参数的地方。

例如,现在我试图更改通过上述方法打开的片段的标题;

  • MyActivity->打开-> MyFragment

  • MyFragment更改标题

我确实知道如何在不使用导航UI组件的情况下进行更新,但我想尽可能使用它们。

其他类似问题仅与上面已经提供的示例有关(当打开新片段时),或者通过建议使用不使用导航UI组件的典型方法来解决,这些都不能涵盖此特定方案。

2 个答案:

答案 0 :(得分:1)

您可以通过从活动中访问 supportActionBar 来更改标题:

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    (requireActivity() as AppCompatActivity).supportActionBar?.title = "Your Title"
}

答案 1 :(得分:0)

似乎唯一不可能通过不使用导航体系结构组件而直接实现此目标的方法是不可能的。