как сделать фрагмент как фрагмент иерархии root / top, если я устанавливаю панель инструментов в каждом фрагменте, используя компонент навигации? - PullRequest
0 голосов
/ 07 апреля 2020

Я использую Android Компонент навигации. Я хочу сделать нижнюю навигационную панель и панель инструментов / панель приложений. поэтому я установил нижнюю навигацию в моем MainActivity, используя этот код

bottom_nav.setupWithNavController(navController)

, скажем, у меня есть 3 меню в нижней навигации: Домой, Поиск, Профиль

, поэтому я хочу, чтобы мой HomeFragment, SearchFragment и ProfileFragment как root (верхняя иерархия) в стеке навигации.

, если пользователь коснется Home Menu, отобразится список ресторанов. и если я щелкну на Предмете, то он перейдет к RestaurantDetailFragment

, поэтому HomeFragment ---> RestaurantDetailFragment

здесь проблема. когда я возвращаюсь с RestaurantDetailFragment на HomeFragment, на моей панели инструментов есть кнопка возврата. поскольку Home - это root, я ожидаю, что на моей панели инструментов нет кнопки "назад".

- вот способ установки панели инструментов ....

Я устанавливаю панель инструментов в каждом фрагменте макет, а не только сделать одну панель инструментов в MyMainActivity. Я определяю необходимые панели инструментов в макетах фрагментов. Затем в каждом фрагменте onCreateView я устанавливаю код следующим образом:

(activity as AppCompatActivity).setSupportActionBar(toolbar)

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

как сделать мои HomeFragment, SearchFragment и ProfileFragment в качестве root (верхняя иерархия) в навигации стек, чтобы кнопка «Назад» не появлялась на их панели инструментов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...