以编程方式设置 ViewPager 不会正确更新 TabLayout
Setting ViewPager programatically doesn't update TabLayout correctly
当我使用 ViewPager
和 ViewPager
的 setCurrentItem()
设置 TabLayout
时,以编程方式正确下划线颜色更改,但标题颜色不会发生这种情况。
我设置 TabLayout
和 ViewPager
如下所示
vpMasterProfile.setAdapter(new ViewPagerAdapter(getChildFragmentManager(), fragments, getResources().getStringArray(R.array.master_profile_tab)));
tlMasterProfile.setupWithViewPager(vpMasterProfile);
在我的按钮点击监听器上我是这样的
public void onClick(View v) {
if(v.getId() == R.id.btn_renew){
vpMasterProfile.setCurrentItem(1);
}
}
原来,当我以编程方式更改 ViewPager
的项目时,它没有与 TabLayout
同步。所以我以编程方式选择了选项卡,一切正常。
tlMasterProfile.getTabAt(1).select();
成功了。
当我使用 ViewPager
和 ViewPager
的 setCurrentItem()
设置 TabLayout
时,以编程方式正确下划线颜色更改,但标题颜色不会发生这种情况。
我设置 TabLayout
和 ViewPager
如下所示
vpMasterProfile.setAdapter(new ViewPagerAdapter(getChildFragmentManager(), fragments, getResources().getStringArray(R.array.master_profile_tab)));
tlMasterProfile.setupWithViewPager(vpMasterProfile);
在我的按钮点击监听器上我是这样的
public void onClick(View v) {
if(v.getId() == R.id.btn_renew){
vpMasterProfile.setCurrentItem(1);
}
}
原来,当我以编程方式更改 ViewPager
的项目时,它没有与 TabLayout
同步。所以我以编程方式选择了选项卡,一切正常。
tlMasterProfile.getTabAt(1).select();
成功了。