Согласно документации UI :
По умолчанию кнопка навигации скрыта, когда пользователь находится в пункте назначения верхнего уровня графика навигации, и отображается каккнопка «Вверх» в любом другом месте назначения.
Если вы хотите настроить, какие места назначения считаются местами назначения верхнего уровня, вместо этого вы можете передать набор идентификаторов места назначения в конструктор, как показано ниже:
val appBarConfiguration = AppBarConfiguration(
setOf(R.id.nav_home, R.id.nav_payments, R.id.nav_benefits, R.id.nav_more))
Затем передайте этот AppBarConfiguration
объект при вызове setupActionBarWithNavController
:
setupActionBarWithNavController(navController, appBarConfiguration)
Обратите внимание, что, поскольку вы используете ActionBar, вы также должны передать тот же AppBarConfiguration
объектпри переопределении onSupportNavigateUp()
в соответствии с разделом ActionBar :
override fun onSupportNavigateUp(): Boolean {
val navController = findNavController(R.id.nav_host_fragment)
return navController.navigateUp(appBarConfiguration) || super.onSupportNavigateUp()
}
Таким образом, вы должны сохранять объект AppBarConfiguration
на уровне класса (а не локальную переменную в onCreate()
.