1

I have an Activity named RegisterActivity inside it I am impementing ViewPager that contains two fragments. Here is the code of activity

public class RegisterActivity extends AppCompatActivity{

private Context context;
private Toolbar toolbar;
private TabLayout tabLayout;
public static ViewPager viewPager;
private ViewPagerAdapter adapter;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);
    context = RegisterActivity.this;

    viewPager = findViewById(R.id.viewpager);
    setupViewPager(viewPager);

    tabLayout = findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);

}

private void setupViewPager(ViewPager viewPager) {
    adapter = new ViewPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new FragmentOne(), "Step 1");
    adapter.addFragment(new FragmentTwo(), "Step 2");
    viewPager.setAdapter(adapter);
}

class ViewPagerAdapter extends FragmentPagerAdapter {

    private final List<Fragment> fragmentList = new ArrayList<>();
    private final List<String> fragmentTitleList = new ArrayList<>();

    public ViewPagerAdapter(FragmentManager manager) {
        super(manager);
    }

    @Override
    public Fragment getItem(int position) {
        return fragmentList.get(position);
    }

    @Override
    public int getCount() {
        return fragmentList.size();
    }

    public void addFragment(Fragment fragment, String title) {
        fragmentList.add(fragment);
        fragmentTitleList.add(title);
    }

    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        return fragmentTitleList.get(position);
    }
}

}

Fragment one has a NEXT button. When this button is pressed I want the view pager to scroll to FragmentTWo. Again FragmentTwo has a BACK button, I want the view pager to scroll to fragmentOne when BACK button (which is present in the FragmentTwo layout) is pressed.

Faizan Haidar Khan
  • 1,099
  • 1
  • 15
  • 20

1 Answers1

1

RegisterActivity.viewpager.setCurrentItem(position of the fragment);

//Do this onClick of the button in the fragment you are in just you need to be specific about the position of fragment in the pager adapter

Rohit Sharma
  • 1,384
  • 12
  • 19