Tab标签名
private static String[] TAB_LABEL = {"label1","label2","label3"};
viewPager2初始化并应用
/**
* viewpage2初始化
*/
private void initViewpage2() {
final ArrayList<Fragment> fragmentList = new ArrayList<>();
fragmentList.add(fragment1.newInstance()); //或 add( new fragment1() );
fragmentList.add(fragment2.newInstance());
fragmentList.add(fragment3.newInstance());
viewPager2.setAdapter(new FragmentStateAdapter(getParentFragmentManager(),getLifecycle()) {
@NonNull
@Override
public Fragment createFragment(int position) {
return fragmentList.get(position);
}
@Override
public int getItemCount() {
return fragmentList.size();
}
});
//关联并应用ViewPage2和Tab
new TabLayoutMediator(tabLayout, viewPager2, new TabLayoutMediator.TabConfigurationStrategy() {
@Override
public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
tab.setText(TAB_LABEL[position]);
}
}).attach();
}