tablayout动态添加数据
ArrayList<String> strings = new ArrayList<>(Arrays.asList("标题1","标题2","标题3","标题4"));
for (String str:strings
) {
mMyTablayou.addTab(mMyTablayou.newTab().setText(str));
}
tablayout监听切换
mMyTablayou.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
mViewPager.setCurrentItem(tab.getPosition()); //设置ViewPager显示相应的页面
// 新点击
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
// 上一个点击的
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
ViewPager适配器
public class ViewPageAdapter extends FragmentPagerAdapter {
ArrayList<Fragment> fragments;
public ViewPageAdapter(@NonNull FragmentManager fm,ArrayList<Fragment> arrayList) {
super(fm);
fragments=arrayList;
}
@NonNull
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
}
ViewPager绑定适配器
viewPageAdapter = new ViewPageAdapter(getSupportFragmentManager(), fragments);
mviewPage.setAdapter(viewPageAdapter);
ViewPager监听
mViewPage.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
mMyTablayou.getTabAt(position).select(); //设置Tablayou选中的选项
// 滑动到的新页面
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
网友评论