Я хочу добавить в мое приложение для прослушивания назад кнопку Android, которое использует popBackStack с уникальными значениями.
Например, у меня есть фрагменты 1, 2, 3, 4, 5, и я посещаю их в порядке 1-> 2-> 3-> 2-> 3-> 4-> 3-> 5-> 3.
Если я нахожусь во фрагменте 3 в конце очереди, кнопка «Назад» должна вернуть меня к фрагменту 5, в этом фрагменте кнопка «Назад» должна вернуть меня к фрагменту 4, в этом к фрагменту 2 и к этому фрагменту 1 (3-> 5-> 4-> 2-> 1).
У меня есть код, который работает, но нажмите кнопку «Назад», чтобы вернуться к предыдущему фрагменту в этой очереди (3-> 5-> 3-> 4-> 3-> 2-> 3-> 2-> 1) .
view.setOnKeyListener((view1, keyCode, keyEvent) -> {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (popDone) {
popDone = false;
return true;
} else {
if (getActivity().getSupportFragmentManager().getBackStackEntryCount() > 0) {
popDone = true;
getActivity().getSupportFragmentManager().popBackStack();
} else {
getActivity().finish();
}
return true;
}
}
return false;
});