在TabLayoutFragment中的代碼
private TabLayout draw;
private ViewPager pager2;
private List<String> list = new ArrayList<>();
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment03, container, false);
draw = (TabLayout) view.findViewById(R.id.draw);
pager2 = (ViewPager) view.findViewById(R.id.pager2);
list.add("精選");
list.add("英倫風");
list.add("直播");
list.add("訂閱");
list.add("視頻購");
list.add("問答");
MyF3Adapter f3Adapter = new MyF3Adapter(getChildFragmentManager(),list,getActivity());
pager2.setAdapter(f3Adapter);
draw.setTabMode(draw.MODE_FIXED);
draw.setupWithViewPager(pager2);
return view;
}
在FragmentAdapter中的代碼
首先繼承FragmentPagerAdapter
重寫5個方法
private List<String> list;
private Context context;
public MyF3Adapter(FragmentManager fm, List<String> list, Context context) {
super(fm);
this.list = list;
this.context = context;
}
@Override
public CharSequence getPageTitle(int position) {
return list.get(position);
}
public MyF3Adapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
if (position == 0) {
F1 f1 = new F1();
return f1;
} else if (position == 1) {
F2 f2 = new F2();
return f2;
} else if (position == 2) {
F3 f3 = new F3();
return f3;
} else if (position == 3) {
F4 f4 = new F4();
return f4;
} else if (position == 4) {
F5 f5 = new F5();
return f5;
}else if(position==5){
F6 f6 = new F6();
return f6;
}
return null;
}
@Override
public int getCount() {
return list.size();
}