Я установил в своей активности Навигационный ящик и панель инструментов. Это действие содержит RestaurantFragment
с настраиваемой панелью инструментов, где у меня есть кнопка, которая помогает мне перейти на MapFragment
, и кнопка «Назад», с которой я хочу сделать то же самое. Это то, что я делаю с map_button
и работает нормально:
toolbar.setOnMenuItemClickListener(item -> {
if (item.getItemId() == R.id.map_button) {
goToMapFragment();
return true;
}
return false;
});
Однако, если использовать этот код:
toolbar.setNavigationOnClickListener(v -> {
goToMapFragment();
});
Метод вызывается, но ничего не происходит. Это мой goToMapFragment();
метод:
private void goToMapFragment() {
ActionRestarantFragmentToMapFragment action = actionRestarantFragmentToMapFragment();
action.setRestaurant(restaurant);
Navigation.findNavController(rootView).navigate(action);
}
Если я заменю вызов goToMapFragment();
на getActivity().onBackPressed();
, я получаю последний посещенный фрагмент, но это не то, что я хочу. Как заставить goToMapFragment()
также работать во втором случае? Спасибо!