需求背景
开发过程中可能需要根据用户不同状态,展示不同的tab页。例如下图所展示
当用户切换到不同状态时,我们加载进去的fragment就需要做移除。不移除的话大家可以尝试下是啥效果。这里不讨论了,可以帖子回复讨论。
接下来看下移除操作的代码:
public void clearFragment(){
from_fragment = null;
if (serviceFragment != null&&manager.beginTransaction()!=null) {
manager.beginTransaction().remove(serviceFragment).commit();//主要代码
}
if (rightFragment != null&&manager.beginTransaction()!=null) {
manager.beginTransaction().remove(rightFragment).commit();//主要代码
}
manager = null;
transaction = null;
serviceFragment=null;
rightFragment = null;
}
注:我们这里面直接用manager.beginTransaction()去移除,而不是保存成全局变量去移除,是因为每个
transaction只能执行一次commit操作。