TabLayout在activity中

来源:互联网 发布:python课程 编辑:程序博客网 时间:2024/06/05 05:38
   tabLayout = (TabLayout) findViewById(R.id.tab);
        viewPager = (ViewPager) findViewById(R.id.view_pager);

        list = new ArrayList<>();

        list.add("头条");
        list.add("军事");
        list.add("娱乐");
        list.add("新闻");
        list.add("财经");
        list.add("体育");
        list.add("科技");
        list.add("游戏");
        list.add("汽车");
        list.add("环保");
        list.add("视频");
        list.add("国内");

        //1.给viewPager设置适配器
        /**
         * 管理者对象有几种????
         * getSupportFragmentManager()...activity管理他身上的fragment的时候使用
         * getChildFragmentManager()...fragment嵌套的时候,,,管理孩子需要使用这个管理者
         * getFragmentManager()....孩子里面还有fragment的话就使用这个
         */
        viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {

            //2.重写这个方法getPageTitle,,,得到当前页面的标题
            @Override
            public CharSequence getPageTitle(int position) {

                return list.get(position);
            }

            @Override
            public Fragment getItem(int position) {

                NewsFragment newsFragment = new NewsFragment();

                //应该要做的是传值,,,,去fragment里面获取,,,获取到值之后,,,在进行url路径的拼接

                Bundle bundle = new Bundle();

                bundle.putString("name","头条");
                newsFragment.setArguments(bundle);

                return newsFragment;
            }

            @Override
            public int getCount() {
                return list.size();
            }
        });

        //3.将tabLayout和viewPager关联起来
        tabLayout.setupWithViewPager(viewPager);

    }
原创粉丝点击