Make following changes:
Pass the viewPager reference to your adapter and from adapter to your fragment:
public class TabsPagerAdapter extends FragmentPagerAdapter { ViewPager viewPager; public TabsPagerAdapter(FragmentManager fm,ViewPager viewPager) { super(fm); this.viewPager=viewPager; } @Override public Fragment getItem(int index) { switch (index) { case 0: // Top Rated fragment activity return new TopRatedFragment(viewPager); case 1: // Games fragment activity return new GamesFragment(viewPager); case 2: // Movies fragment activity return new MoviesFragment(viewPager); } return null; } @Override public int getCount() { // get item count - equal to number of tabs return 3; } }
In fragment on click of button call set selection on view pager object:
public class MoviesFragment extends Fragment { private ViewPager viewPager; public MoviesFragment (ViewPager viewPager;){ this.viewPager=viewPager; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_movies, container, false); rootView.findViewById(<your button>).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { viewPager.setCurrentItem(0); } }); return rootView; } }