通过一个list集合控制一个activity中所有的fragment显示与隐藏

这段代码展示了如何通过一个List集合动态管理Activity中的Fragment,实现显示与隐藏。`switchFragment`方法根据目标索引切换Fragment,隐藏非目标Fragment,如果目标Fragment已存在则显示,否则添加到事务中。
摘要由CSDN通过智能技术生成
public void switchFragment(int targetIndex) {
        List<BaseFragment> list = getListFragment();
        if (list != null && list.size() > 0) {
            
            FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
            Fragment targetFragment = list.get(targetIndex);
            for (int i = 0; i < list.size(); i++) {
                if (i != targetIndex) {
                    Fragment currentFragment = list.get(i);
                    //如果fragment已经添加到事物中,则将fragment隐藏掉
                    if (currentFragment.isAdded()) {
                        transaction.hide(currentFragment);
                    }
                }
            }
            //判断fragment是否已经添加到事务中
            if (targetFragment.isAdded()) {
                //如果该fragment已经添加到事务中,则从事务中取出显示即可,无需销毁再重新创建
                transaction.show(targetFragment);
            } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值