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.