Есть вопросы, касающиеся бэк-стека и fragmentManager
, но я не нашел ни одного, у которых есть подобный вариант использования.
Итак, вот мой пример использования: на планшете у меня основное действие наслева, который выступает в качестве навигационной страницы, а фрагменты отображаются справа, когда пользователи нажимают на объекты слева.Например, при нажатии на General
страница general
будет отображаться справа.Допустим, я перешел от Homepage
к этому Settings
занятию, которое имеет General
и другие настройки, я показываю страницу General
справа по умолчанию на планшете (чтобы правая часть не была пустой)и когда я нажимаю кнопку «назад», я хочу вернуться прямо к Homepage
вместо отображения пустой правой части.Я исправил это следующим образом:
override fun onBackPressed() {
//some code
if (isTabletLayout && supportFragmentManager.backStackEntryCount == 1) {
supportFragmentManager.popBackStack()
}
super.onBackPressed()
//some other code
}
Однако, даже если я сделаю это, я увижу, что правая часть мигает пустым, а затем мне показали предыдущее действие (в примере, Homepage
)
Теперь мне интересно, могу ли я просто проигнорировать этот последний фрагмент или удалить задний стек фрагментов, когда остался только один фрагмент, и напрямую показать предыдущее действие?
Заранее спасибо.