Пример фрагмента backstack при нажатии back:
FragmentsActivity
- это действие, которое будет контейнером для всех ваших фрагментов, поэтому переопределите FragmentsActivity onBackPressed()
, например, -
override fun onBackPressed() {
val fm = supportFragmentManager
if (fm.backStackEntryCount > 0) { //if backstack contain any fragment than pop it
fm.popBackStack()
} else { // call super function normally
super.onBackPressed()
}
}
Теперь всякий раз, когда запускаем такой фрагмент -
//If you don't want it in backstack
supportFragmentManager.beginTransaction()
.replace(R.id.fragment_container, FragmentA())
.commit()
//If you want it in backstack
supportFragmentManager.beginTransaction()
.replace(R.id.fragment_container, FragmentA())
.addToBackStack(null) //null or any String TAG you want
.commit()