如何从OnTabSelected选项卡位置获取addDotsIndicator

时间:2019-03-27 12:27:40

标签: android tabs listener android-tablayout

我在点指示器中找到了如何读取pageSelected的方法,但是如何获取viewPager的onTabSelected位置。

tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                viewPager.setCurrentItem(tab.getPosition());
                if(tab.getPosition() == 0){
                    addDotsIndicator(0);
                } else if (tab.getPosition() == 1){
                    addDotsIndicator(1);

                } else if (tab.getPosition()== 2){
                    addDotsIndicator(2);
                } else if (tab.getPosition() == 3){
                    addDotsIndicator(3);
                } else if (tab.getPosition()== 4){
                    addDotsIndicator(4);
                } 




     }
    addDotsIndicator(0);


public void addDotsIndicator(int position){
        mDots = new TextView[5];
        for(int i = 0; i<mDots.length; i++){
            mDots[i] = new TextView(this);
            mDots[i].setText(Html.fromHtml("&#8226"));
            mDots[i].setTextSize(50);
            mDots[i].setTextColor(getResources().getColor(R.color.colorTransparentWhite));

            mDotLayout.addView(mDots[i]);
        }
        if (mDots.length > 0){
            mDots[position].setTextColor(getResources().getColor(R.color.colorWhite));
        }
    }

如果我正在编写此代码,则将点指示器添加到无穷大,但是它们需要切换

1 个答案:

答案 0 :(得分:0)

在addDotsIndicator()函数中,可以删除第一行中已经添加的点,然后继续添加。喜欢

aws ec2 describe-instances --region us-west-2 
  --query "Reservations[*].Instances[*].PrivateIpAddress" 
  --filter "Name=tag:Name,Values=myName","Name=instance-state-code,Values=16"  
  --output=text 

如果mDotLayout中只有点,则应该可以正常工作。