Кнопка возврата панели инструментов с компонентом навигации - PullRequest
2 голосов
/ 23 октября 2019

Я придерживаюсь одного подхода активности. У меня есть панель инструментов навигации, когда я иду на другие экраны (фрагменты) вместо иконки гамбургера, у меня будет стрелка назад.

То, чего я хочу достичь, это вытолкнуть мой текущий фрагмент, используя действие при нажатии на стрелку назад панели инструментов.

Я пытался

requireActivity().getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
    @Override
    public void handleOnBackPressed() {
        NavHostFragment.findNavController(EventDetailsFragment.this)
        .navigate(R.id.action_nav_event_details_to_nav_home);
    }
});

Но не получая вызова там, я проверил, запустив приложение в режиме отладки.

Ответы [ 3 ]

0 голосов
/ 23 октября 2019

Добавить этот код в родительское действие

Добавить в метод onCreate

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Добавить этот метод также в родительское действие

 @Override
public boolean onSupportNavigateUp() {
    return super.onSupportNavigateUp();
}
0 голосов
/ 23 октября 2019
Toolbar toolbar = findviewbyid(R.id.toolbar);
toolbar.setnavigationonclicklistener(new view.onclicklistener(){
 code here  
});
setsupportactionbar(toolbar);
0 голосов
/ 23 октября 2019

Я следую приведенному ниже учебнику, и он прекрасно работает для меня

Компонент навигации с выдвижным ящиком

Дайте мне знать, он работает для вас?

...