tabLayout和viewPager基础
public class Frag01 extends Fragment {
private TabLayout tabLayout;
private ViewPager viewPager;
//放标题
ArrayList<String> titleList = new ArrayList<String>();
//放所有的fragment
ArrayList<Fragment> fragmentList = new ArrayList<Fragment>();
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.mfrag01,container,false);
//控件
tabLayout = view.findViewById(R.id.tab);
viewPager = view.findViewById(R.id.viewpage);
//添加
String arr[]={"首页","list","viewpage","我的"};
for (int i = 0; i < arr.length; i++) {
titleList.add(arr[i]);
}
fragmentList.add(new Ffarg01());
fragmentList.add(new Ffarg02());
fragmentList.add(new Ffarg03());
fragmentList.add(new Ffarg04());
//适配器
MyGLAdapter adapter = new MyGLAdapter(getChildFragmentManager(),titleList,fragmentList);
viewPager.setAdapter(adapter);
// 让tablayout和viewpager关联;
tabLayout.setupWithViewPager(viewPager);
return view;
}
//配置器
public class MyGLAdapter extends FragmentPagerAdapter {
ArrayList<String> titleList;
ArrayList<Fragment> fragmentList;
public MyGLAdapter(FragmentManager fm, ArrayList<String> titleList, ArrayList<Fragment> fragmentList) {
super(fm);
this.titleList = titleList;
this.fragmentList = fragmentList;
}
public MyGLAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
return fragmentList.get(i);
}
@Override
public int getCount() {
return titleList.size();
}
/**
*
* @param position
* @return 当前页面的标题;
*/
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return titleList.get(position);
}
}