public class Fragment_shouye extends Fragment { private View view; private TabLayout my_table; private ViewPager viewPager; //放进集合 private List<String> tas=new ArrayList<>(); @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_shouye, container, false); initView(view); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); tas.add("推荐"); tas.add("课程"); tas.add("实战"); tas.add("职业路径"); //设置适配器 注意:getChildFragmentManager viewPager.setAdapter(new MyAdapter(getChildFragmentManager())); //建立关联 my_table.setupWithViewPager(viewPager); //一次加载所有的页面 viewPager.setOffscreenPageLimit(tas.size()); } //获得控件 private void initView(View view) { my_table = (TabLayout) view.findViewById(R.id.my_table); viewPager = (ViewPager) view.findViewById(R.id.vp); } // 写一个适配器 class MyAdapter extends FragmentPagerAdapter { //得到页面的title,会添加到tabLayout控件上 @Override public CharSequence getPageTitle(int position) { return tas.get(position); } @Override public Fragment getItem(int position) { Fragment f=null; // 进行判断 switch (position){ case 0: f=new Table_Fragment_tuijian(); break; case 1: f=new Table_Fragment_kecheng(); break; case 2: f=new Table_Fragment_shizhan(); break; case 3: f=new Table_Fragment_zhiye(); break; } return f; } //view的页数 @Override public int getCount() { return tas.size(); } public MyAdapter(FragmentManager fm) { super(fm); } } }
二. FragmentLayout 加上 TabLayout 进行嵌套碎片 主方法内
最新推荐文章于 2024-07-26 21:24:56 发布