【发布时间】:2019-05-06 20:03:13
【问题描述】:
我在 viewpager 下有一个带有四个选项卡的选项卡布局。我想在滑动标签时更改文本标题。我的问题是我不能分别处理标签。
例如四个标签的标题是 1、2、3、4 ,当我滑动时它会显示为 1、9、3、4 或 1、2、9、4...
但在我的情况下是 7、9、7、7 或 7、7、9、7...
我尝试将它写在 onTabUnselected function 上。显然我没有控制它的变量。
接下来我能做什么?
部分节目:
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);
【问题讨论】:
-
所以你想要的是 1,9,3,4 或 7,9,7,7
-
这是1、9、3、4 7、9、7、7 只是为了测试我得到了解决方案,感谢您的关注。
-
随时欢迎好友
标签: android