我在 viewpager 下有一个带有四个选项卡的选项卡。我想在滑动选项卡时更改文本标题。我的问题是我无法分别处理选项卡。
例如四个选项卡标题是 1、2、3、4 ,当我滑动时,它会显示为 1、9、3、4 或 1、2、9、4...
但在我的例子中是 7、9、7、7 或 7、7、9、7...
我尝试将其写在 onTabUnselected 函数上。显然我没有变量来控制它。
接下来我可以做什么?
部分节目:
private ViewPager viewPager;
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayoutHomePage));
tabLayoutHomePage.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
int id=tab.getPosition();
switch (id){
case 0:
tab.setText("9");
break;
case 1:
tab.setText("9");
break;
case 2:
tab.setText("9");
break;
case 3:
tab.setText("9");
break;
}
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
int id=tab.getPosition();
switch (id){
case 0:
tab.setText("7");
break;
case 1:
tab.setText("7");
break;
case 2:
tab.setText("7");
break;
case 3:
tab.setText("7");
break;
}
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
原来声明四个选项卡标题
tabLayoutHomePage = (TabLayout) view.findViewById(R.id.tabLayoutHomePage);
tabLayoutHomePage.addTab(tabLayoutHomePage.newTab().setText(R.string.bloodPressure));
tabLayoutHomePage.addTab(tabLayoutHomePage.newTab().setText(R.string.bloodSugar));
tabLayoutHomePage.addTab(tabLayoutHomePage.newTab().setText(R.string.bodyWeight));
tabLayoutHomePage.addTab(tabLayoutHomePage.newTab().setText(R.string.vaccine));
tabLayoutHomePage.setTabGravity(TabLayout.GRAVITY_FILL);
try this
tabLayoutHomePage.getTabAt(position).setText("new Text");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)