OnBackPressed для каждого элемента в custom NavigatorView
Есть custom NavigatorView в котором я использую NavController. Вся проблема в том, что при замене Fragmenta я сразу задаю fragmentTransaction.addToBackStack(String.valueOf(FragmentRink3)); и при переходе в другой NavController при нажатии на OnBackPressed применяется на fragment из предыдущего NavController, где была произведена замена. Сложно объяснить, попытался как смог. Можно ли как-то сделать чтобы у каждого из нижнего навигационного меню был свой, не знаю, лист нажатий, по которому определялась последовательность переходов в фрагменты? Я знаю, что объяснил очень плохо, прикреплю gif, чтобы показать проблему наглядно.
Как можете заметить, по нажатию на кнопку у нас заменился fragment, далее я перешёл в следующее меню и нажал OnBackPressed, и в этот момент fragment, который заменился в предыдущем меню, вернулся назад. Как это исправить?
Замену fragment-а реализую следующим образом:
btn_close.setOnClickListener(v ->
{
FragmentRink4 fragment = new FragmentRink4(); // you fragment
FragmentManager fragmentManager = ((FragmentActivity) v.getContext()).getSupportFragmentManager(); // instantiate your view context
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.nav_controller_rink1, fragment);// your container and your fragment
fragmentTransaction.addToBackStack(String.valueOf(FragmentRink3));
fragmentTransaction.commit();
});
Вот ссылка на проект.
