以编程方式设置 ViewPager 不会正确更新 TabLayout

Setting ViewPager programatically doesn't update TabLayout correctly

当我使用 ViewPagerViewPagersetCurrentItem() 设置 TabLayout 时,以编程方式正确下划线颜色更改,但标题颜色不会发生这种情况。

我设置 TabLayoutViewPager 如下所示

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();

成功了。