TabLayout配合Viewpager+Fragment结合使用

导入依赖
  implementation 'com.android.support:design:28.0.0'
布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <android.support.design.widget.TabLayout
        android:id="@+id/tabLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
    <android.support.v4.view.ViewPager
        android:id="@+id/vp_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

</LinearLayout>
  //新建title集合
    private ArrayList<String> mTitle = new ArrayList<>();
    //新建fragment集合
    private List<Fragment> list1 = new ArrayList<>();
//得到控件
    TabLayout tabLayout=v.findViewById(R.id.tabLayout);
    ViewPager vp_1=v.findViewById(R.id.vp_1);
        list1.add(new table_fragment01());
        list1.add(new table_fragment02());
        list1.add(new table_fragment03());
        mTitle.add("热门影片");
        mTitle.add("正在上映");
        mTitle.add("即将上映");

        //适配器
     //getChildFragmentManager()
   //pager.setAdapter(new HomePagerAdapter(getActivity().getSupportFragmentManager()));
        //当Fragment嵌套Fragment时使用getChildFragmentManager()
        //Fragment嵌套Bug
        vp_1.setAdapter(new FragmentPagerAdapter(getChildFragmentManager()) {
        @Override
        public Fragment getItem(int i) {
            if (i==0){
                return new table_fragment01();
            }else if (i==1){
                return new table_fragment02();
            }
            return new table_fragment03();
        }

		
        @Override
        public int getCount() {
            return 3;
        }

        @Nullable
        @Override
        public CharSequence getPageTitle(int position) {
            return mTitle.get(position);
        }
    });
    vp_1.setOffscreenPageLimit(list1.size());
    tabLayout.setupWithViewPager(vp_1);
     return v;
     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值