Fragment 如何實(shí)現(xiàn)類似Activity任務(wù)棧的壓棧和出棧的效果?
往Activity中添加Fragment默認(rèn)是不會(huì)添加到任務(wù)棧的,不會(huì)有Activity那種壓棧和出棧的效果现使。
如果要實(shí)現(xiàn)這種效果,我們可以通過以下步驟實(shí)現(xiàn):
1.添加Fragment的時(shí)候通過fragmentTransaction.addToBBackStack(String)方法旷痕,來講Fragment添加到任務(wù)棧中碳锈。
2.在要退出Fragment的時(shí)候,先通過fragmentManager.getBackStackEntryCount()方法獲取棧中Fragment的數(shù)量欺抗。
3.如果當(dāng)前任務(wù)棧中的Fragment只有一個(gè)的時(shí)候售碳,我們按后退鍵就直接退出Activity。如果數(shù)量大于1绞呈,則調(diào)用fragmentManager.popBackStack(String name, int flags)或者fragmentManager.popBackStack(int id, int flags)方法將Fragment彈出棧贸人。