android-动态更改标签文本标题

我在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);
最佳答案
尝试这个

tabLayoutHomePage.getTabAt(position).setText("new Text");

转载注明原文:android-动态更改标签文本标题 - 代码日志