Fragment 如何实现类似Activity任务栈的压栈和出栈的效果?
往Activity中添加Fragment默认是不会添加到任务栈的,不会有Activity那种压栈和出栈的效果。
如果要实现这种效果,我们可以通过以下步骤实现:
1.添加Fragment的时候通过fragmentTransaction.addToBBackStack(String)方法,来讲Fragment添加到任务栈中。
2.在要退出Fragment的时候,先通过fragmentManager.getBackStackEntryCount()方法获取栈中Fragment的数量。
3.如果当前任务栈中的Fragment只有一个的时候,我们按后退键就直接退出Activity。如果数量大于1,则调用fragmentManager.popBackStack(String name, int flags)或者fragmentManager.popBackStack(int id, int flags)方法将Fragment弹出栈。