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

4人阅读 评论(0) 收藏 举报
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);
            } else {
                //如果该fragment没有添加到事务中,则添加新的事务
                transaction.add(fragmentLayoutId(), targetFragment);
            }
            transaction.commit();

        }
    }
 //可以通过重写此方法传进装有fragment的集合
    protected List<BaseFragment> getListFragment() {
        return new ArrayList<>();
    }
//可以通过此方法传进fragment占位显示的fragmentLayout的ID
    protected
    @IdRes
    int fragmentLayoutId() {
        return 0;
    }

查看评论

从零开始实现一个可用的mvc框架

-
  • 1970年01月01日 08:00

Android - Fragment 控件Activity里的控件并的显示与隐藏

问题 :       在Fragment里监听RecycerView 滑动事件,来判断向上滑动和向下滑动, 并控制 FolatingActionButton 的隐藏和显示. 基本结构:     ...
  • LABLENET
  • LABLENET
  • 2015-10-27 14:08:24
  • 3680

Android 在Fragment 中控制 Activity 的控件隐藏和显示

首先使用Fragment 肯定会使用ViewPage. 这个时候要控制Activity 页面中的数据就简单了 ,监听 //监听 mViewpager.addOnPageChange...
  • qq_26841579
  • qq_26841579
  • 2017-05-12 13:31:28
  • 1121

fragment中调用activity中控件

问题:做表情的时候遇到点击表情后发现没有到输入框中,引用布局发现是用了一个新的布局,不能达到目标效果 解决:getactivity.find.....既能获取activity中的控件,没有新建。...
  • qqyanjiang
  • qqyanjiang
  • 2015-01-05 18:47:39
  • 2030

Activity 传递 List对象

两个activity直接需要传一个list 有几点需要注意 1、Bean 要 implements Serializable或者继承Parcelable,我这里举得例子是前者, 2、lis...
  • zhiyou007
  • zhiyou007
  • 2011-08-22 15:19:53
  • 3492

Fragment中显示隐藏Activity中的view

在fragment中显示隐藏activity中的某个view,另外在切换acitvity的时候也需要做activity中view的显示和隐藏。 显示隐藏 getActivity().findVie...
  • lihenair
  • lihenair
  • 2015-07-03 18:28:15
  • 1916

android中传递复杂参数,activity之间和fragment之间的bundle传递集合/对象

在Android开发中,Activity之间通过Intent使用bundle,fragment之间和Activityty通过setArguments使用bundle,对于一些简单的参数传递比较简单,而...
  • Kern_
  • Kern_
  • 2015-05-25 20:59:59
  • 10574

Fragment学习之Activity传递数据到Fragment

上一篇文章我们理解怎样使用接口回调的方式将数据从Fragment传递到Activity中
  • lzm1340458776
  • lzm1340458776
  • 2014-05-07 14:58:05
  • 6865

Android 在Fragment或activity中显示与隐藏Menu的菜单

最近做一个项目,要求在一个activity中加载多个Fragment,用底部导航栏来相互切换,在切换过程中对 Menu菜单的显示与隐藏.  先来分析一下: android4.0之后引入了...
  • juesai2015
  • juesai2015
  • 2017-12-26 10:12:13
  • 443

Android Fragment隐藏显示调用的方法

//在Activity中加载显示隐藏Fragment import android.app.Activity; import android.app.FragmentManager; import a...
  • haozidao
  • haozidao
  • 2016-05-06 11:22:22
  • 6387
    个人资料
    等级:
    访问量: 3686
    积分: 136
    排名: 114万+
    文章分类
    文章存档