Reputation: 414
i create a viewPager and is work , my problem is for select a page i just can drag page but I want to click on the tabs to select the pages .
also i add (compile 'com.android.support:design:26.0.0-alpha1')
my codes for FragmentPagerAdapter
public class Pager extends FragmentPagerAdapter {
public Pager(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position)
{
case 0:
return First_Activity.newInstance();
case 1:
return Second_Activity.newInstance();
case 2:
return Third_Activity.newInstance();
default:
return First_Activity.newInstance();
}
}
@Override
public int getCount() {
return 3;
}
// --->>>Title Pages<<<---
@Override
public CharSequence getPageTitle(int position) {
switch (position)
{
case 0:
return " page 1 ";
case 1:
return " page 2 ";
case 2:
return " page 3 ";
default:
return "";
}
}
}
my codes for MainActivity
final ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
Pager adapter = new Pager(getSupportFragmentManager());
viewPager.setAdapter(adapter);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tablayout);
tabLayout.setupWithViewPager(viewPager);
}
}
Upvotes: 0
Views: 48
Reputation: 2781
First declare this line in onCreate():
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
Here , tabLayout is layout of your tabs you created in layout.
Now add this function:
TabLayout.OnTabSelectedListener tabListener = new TabLayout.OnTabSelectedListener()
{
@Override
public void onTabSelected(TabLayout.Tab tab)
{
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab)
{ }
@Override
public void onTabReselected(TabLayout.Tab tab)
{ }
};
This code will work for you surely.
Upvotes: 1