Fragment中嵌套viewPager,viewPagerh中还有多个子Fragment

1.ContentFragment中有一个自定义的不会滑动的ViewPager(NoScrollViewPager) ViewPager下有五个子Fragment(FragmentHome,FragmentNews,FragmentSmartService,FragmentZhangWu,FragmentSetting)

2.用界面底下的五个按钮(首页,新闻中心,智慧服务,政务,设置)控制五个界面

public class ContentFragment extends Fragment {
    private List<Fragment> mFragmentList;
    /*
    * 这是主页内容
    * */
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_content, container, false);
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
       final NoScrollViewPager mPager= (NoScrollViewPager) getView().findViewById(R.id.vp_content);
        // 初始化5个子页面
        mFragmentList = new ArrayList<>();
       /* for (int i = 0; i < 5; i++) {
            BaseFragment fragment=new BaseFragment();
            mFragmentList.add(fragment);
        }*/
        FragmentHome fragmentHome=new FragmentHome();
        FragmentNews fragmentNews=new FragmentNews();
        FragmentSmartService fragmentSmartService=new FragmentSmartService();
        FragmentZhangWu fragmentZhangWu=new FragmentZhangWu();
        FragmentSetting fragmentSetting=new FragmentSetting();

        mFragmentList.add(fragmentHome);
        mFragmentList.add(fragmentNews);
        mFragmentList.add(fragmentSmartService);
        mFragmentList.add(fragmentZhangWu);
        mFragmentList.add(fragmentSetting);

        //***最关键在于getChildFragmentManager()***
        mPager.setAdapter(new FragmentPagerAdapter(getChildFragmentManager()) {
            @Override
            public Fragment getItem(int arg0) {
                return mFragmentList.get(arg0);
            }

            @Override
            public int getCount() {
                return mFragmentList.size();
            }
        });
        //给RadioGroup设置选择变化侦听
        RadioGroup rgGroup=(RadioGroup) getView().findViewById(R.id.rg_group);
        rgGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
           @Override
           public void onCheckedChanged(RadioGroup group, int checkedId) {
               switch (checkedId) {
                   case R.id.rb_home://如果首页按钮点击了
                       mPager.setCurrentItem(0);    //跳到首页
                       break;
                   case  R.id.rb_news:
                       mPager.setCurrentItem(1);
                       break;
                   case R.id.rb_smart:
                       mPager.setCurrentItem(2);
                       break;
                   case R.id.rb_gov:
                       mPager.setCurrentItem(3);
                       break;
                   case R.id.rb_setting:
                       mPager.setCurrentItem(4);
                       break;
                   default:
                       break;
               }
           }
       });
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值