我正在使用viewpager和选项卡布局
viewPager.setAdapter(Adapter);
tablayout.setupWithViewPager(viewPager);
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
int cPage;
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
cPage = position;
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
现在,当我滑动选定的标签颜色是变化的,但当我调用
viewPager.setCurrentItem(1, true);
它不改变新的标签页布局颜色。说我有2个标签页,当我是第一它设置文本颜色绿色为第一标签页,当我滑动它给第二标签页颜色绿色。。但当我调用
viewPager.setCurrentItem(1, true);
在此,我的第一个选项卡是绿色的,而不是第二个选项卡
7条答案
按热度按时间oprakyz71#
https://stackoverflow.com/a/35843370/4302046
// mViewPager.设置当前项(位置);
(位置)。select();
qyyhg6bp2#
试试这个对我有用...
pftdvrlh3#
在您的活动中:
//应用于制表布局的样式
rm5edbpk4#
遇到了一个独特的问题。当我们设置setCurrentItem时,它不会更改tablayout的选项卡。然后,您必须在viewpager上添加OnPageChangeListener,您必须在其中为选定的viewpager位置手动选择tablayout的选项卡。然后,setupWithViewPager。
注意:setupWithViewPager只需要在添加addOnPageChangeListener之后设置。上帝知道为什么。这是有效的。如果我之前设置了setupWithViewPager,它就不起作用了。同样,只有万能的上帝知道。
czq61nw15#
也有同样的问题,在我们滑动ViewPager后,TabLayout中的选项卡未被选中,即当我们滑动ViewPager时,选项卡保持不变。解决方案(Kotlin):
yyyllmsg6#
(1,真);必须在UI线程上运行
lxkprmvk7#
这是设计支持库中的已知错误,即使在版本24.1.1中也存在,我能够通过使用坐标布局作为父(根)布局来找到此问题的解决方案