0

I am having 4 tabs in tablayout and I am using fragments with view pager for them.Now for better customisation,I am providing user a choice to remove any tab or add any tab when they require.

But the problem is now I am not able to remove a tab and add a tab.THe code I have used for making tablayout is mentioned below- Here objects and reference is passed from Pageradapter class.

public class PagerAdapter extends FragmentStatePagerAdapter { int NoofTabs;

public PagerAdapter(FragmentManager fm,int NoofTabs) {
    super(fm);
    this.NoofTabs=NoofTabs;

}

@Override
public Fragment getItem(int position) {
    switch (position)
    {
        case 0:
            BlankFragment blankFragment=new BlankFragment();
            return blankFragment;
        case 1:
            BlankFragmentia blankFragmentia=new BlankFragmentia();
            return blankFragmentia;
        case 2:
            BlankFragmentyou blankFragmentyou=new BlankFragmentyou();
            return blankFragmentyou;
        case 3:
            Blankt t=new Blankt();
            return t;


        default:
            return null;
    }
}

@Override
public int getCount() {
    return NoofTabs;
  }
 }`


public class MainActivity extends AppCompatActivity implements BlankFragment.OnFragmentInteractionListener,BlankFragmentyou.OnFragmentInteractionListener,BlankFragmentina.OnFragmentInteractionListener,Blankt.OnFragmentInteractionListener{
TabLayout tabLayout;
ViewPager viewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tabLayout=(TabLayout)findViewById(R.id.tablayout);
    tabLayout.addTab(tabLayout.newTab().setText("a"));
    tabLayout.addTab(tabLayout.newTab().setText("b"));

    tabLayout.addTab(tabLayout.newTab().setText("c"));
    tabLayout.addTab(tabLayout.newTab().setText("d"));
    tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER);
     viewPager=(ViewPager)findViewById(R.id.pager);
    viewPager.setOffscreenPageLimit(3);
    PagerAdapter adapter=new PagerAdapter(getSupportFragmentManager(),tabLayout.getTabCount());
    viewPager.setAdapter(adapter);
    viewPager.setOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

   tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            viewPager.setCurrentItem(tab.getPosition());
            if(tab.getPosition()==0)
            {
                tabLayout.setBackgroundColor(Color.parseColor("#3b5998"));

            }
            else if(tab.getPosition()==1)
            {
                tabLayout.setBackgroundColor(Color.parseColor("#E91E63"));

            }
            else if(tab.getPosition()==2)
            {
                tabLayout.setBackgroundColor(Color.parseColor("#FF0000"));

            }
            else if(tab.getPosition()==3)
            {
                tabLayout.setBackgroundColor(Color.parseColor("#00aced"));

            }
        }

        @Override
        public void onTabUnselected(TabLayout.Tab tab) {

        }

        @Override
        public void onTabReselected(TabLayout.Tab tab) {

        }

    });

Please help me with adding and removing tabs.Only 4 mentioned above tabs can be used.

ghu
  • 41
  • 6
  • Possible duplicate of [Dynamically add and remove tabs in TabLayout(material design) android](https://stackoverflow.com/questions/34306476/dynamically-add-and-remove-tabs-in-tablayoutmaterial-design-android) – Bishoy Kamel Feb 22 '18 at 15:49
  • No ,it is different from his question,here the pager object and object creation and passing of fragment is done. – ghu Feb 22 '18 at 15:51

0 Answers0