How to change Fragment in View Pager using Button in the fragment? [duplicate]











up vote
1
down vote

favorite













This question already has an answer here:




  • How to select next tab from child fragment

    3 answers




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.










share|improve this question













marked as duplicate by Nilesh Rathod android
Users with the  android badge can single-handedly close android questions as duplicates and reopen them as needed.

StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 20 at 6:38


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.



















    up vote
    1
    down vote

    favorite













    This question already has an answer here:




    • How to select next tab from child fragment

      3 answers




    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.










    share|improve this question













    marked as duplicate by Nilesh Rathod android
    Users with the  android badge can single-handedly close android questions as duplicates and reopen them as needed.

    StackExchange.ready(function() {
    if (StackExchange.options.isMobile) return;

    $('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
    var $hover = $(this).addClass('hover-bound'),
    $msg = $hover.siblings('.dupe-hammer-message');

    $hover.hover(
    function() {
    $hover.showInfoMessage('', {
    messageElement: $msg.clone().show(),
    transient: false,
    position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
    dismissable: false,
    relativeToBody: true
    });
    },
    function() {
    StackExchange.helpers.removeMessages();
    }
    );
    });
    });
    Nov 20 at 6:38


    This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

















      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite












      This question already has an answer here:




      • How to select next tab from child fragment

        3 answers




      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.










      share|improve this question














      This question already has an answer here:




      • How to select next tab from child fragment

        3 answers




      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.





      This question already has an answer here:




      • How to select next tab from child fragment

        3 answers








      android android-viewpager






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 20 at 6:25









      Faizan Khan

      506




      506




      marked as duplicate by Nilesh Rathod android
      Users with the  android badge can single-handedly close android questions as duplicates and reopen them as needed.

      StackExchange.ready(function() {
      if (StackExchange.options.isMobile) return;

      $('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
      var $hover = $(this).addClass('hover-bound'),
      $msg = $hover.siblings('.dupe-hammer-message');

      $hover.hover(
      function() {
      $hover.showInfoMessage('', {
      messageElement: $msg.clone().show(),
      transient: false,
      position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
      dismissable: false,
      relativeToBody: true
      });
      },
      function() {
      StackExchange.helpers.removeMessages();
      }
      );
      });
      });
      Nov 20 at 6:38


      This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.






      marked as duplicate by Nilesh Rathod android
      Users with the  android badge can single-handedly close android questions as duplicates and reopen them as needed.

      StackExchange.ready(function() {
      if (StackExchange.options.isMobile) return;

      $('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
      var $hover = $(this).addClass('hover-bound'),
      $msg = $hover.siblings('.dupe-hammer-message');

      $hover.hover(
      function() {
      $hover.showInfoMessage('', {
      messageElement: $msg.clone().show(),
      transient: false,
      position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
      dismissable: false,
      relativeToBody: true
      });
      },
      function() {
      StackExchange.helpers.removeMessages();
      }
      );
      });
      });
      Nov 20 at 6:38


      This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote













          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






          share|improve this answer























          • It worked quite nicely.
            – Faizan Khan
            Nov 20 at 7:34


















          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          1
          down vote













          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






          share|improve this answer























          • It worked quite nicely.
            – Faizan Khan
            Nov 20 at 7:34















          up vote
          1
          down vote













          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






          share|improve this answer























          • It worked quite nicely.
            – Faizan Khan
            Nov 20 at 7:34













          up vote
          1
          down vote










          up vote
          1
          down vote









          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






          share|improve this answer














          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







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 20 at 6:55

























          answered Nov 20 at 6:28









          Rohit Sharma

          456412




          456412












          • It worked quite nicely.
            – Faizan Khan
            Nov 20 at 7:34


















          • It worked quite nicely.
            – Faizan Khan
            Nov 20 at 7:34
















          It worked quite nicely.
          – Faizan Khan
          Nov 20 at 7:34




          It worked quite nicely.
          – Faizan Khan
          Nov 20 at 7:34



          Popular posts from this blog

          Tonle Sap (See)

          I get strange results when I access the Sqlitedatabase with Unity C# via XAMPP

          Guatemaltekische Davis-Cup-Mannschaft