BaseFragment.kt
/**
* 監(jiān)聽返回鍵
* @return true:返回重贺,false:阻止返回
*/
open fun onBackPressed(): Boolean {
return true
}
Activity重寫onBackPressed
/**
* 返回鍵監(jiān)聽
*/
override fun onBackPressed() {
if (supportFragmentManager.backStackEntryCount == 0) {
super.onBackPressed()
return
}
val currentFragment = supportFragmentManager.fragments.last() as BaseFragment?
val backProcess = currentFragment?.onBackPressed()
if (backProcess != null && backProcess) {
super.onBackPressed()
}
}
子類繼承BaseFragment可以重載onBackPressed方法處理自己的業(yè)務邏輯跳轉注整。