如果我使用导航组件在每个片段中设置工具栏,如何将片段作为根/顶层层次结构片段?

时间:2020-04-07 10:05:48

标签: android android-architecture-components android-navigation android-architecture-navigation android-jetpack-navigation

我正在使用Android导航组件。我想制作一个底部导航视图,并显示一个工具栏/应用栏。因此我使用此代码在MainActivity中设置了底部导航视图

bottom_nav.setupWithNavController(navController)

说我的底部导航中有3个菜单:主页,搜索,个人资料

所以我希望将HomeFragmentSearchFragmentProfileFragment作为导航堆栈中的根(顶层层次结构)。

如果用户点击主菜单,它将显示餐厅列表。如果我单击某个项目,则它将导航到RestaurantDetailFragment

所以HomeFragment ---> RestaurantDetailFragment

这是问题所在。当我从RestaurantDetailFragment返回到HomeFragment时,工具栏中有一个后退按钮。因为主页是根,所以我希望工具栏中没有后退按钮。

这是我设置工具栏的方式。...

我在每个片段布局中设置了工具栏,不仅在MyMainActivity中创建了一个工具栏。我在片段布局中定义所需的工具栏。然后在每个片段onCreateView中设置如下代码:

(activity as AppCompatActivity).setSupportActionBar(toolbar)

toolbar.setNavigationOnClickListener { view ->
    view.findNavController().navigateUp()
}

如何将我的HomeFragmentSearchFragmentProfileFragment设置为导航堆栈的根(顶层层次结构),以便后退按钮不会出现在其工具栏中?

0 个答案:

没有答案