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.
marked as duplicate by Nilesh Rathod
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.
add a comment |
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.
marked as duplicate by Nilesh Rathod
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.
add a comment |
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.
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
asked Nov 20 at 6:25
Faizan Khan
506
506
marked as duplicate by Nilesh Rathod
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
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.
add a comment |
add a comment |
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
It worked quite nicely.
– Faizan Khan
Nov 20 at 7:34
add a comment |
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
It worked quite nicely.
– Faizan Khan
Nov 20 at 7:34
add a comment |
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
It worked quite nicely.
– Faizan Khan
Nov 20 at 7:34
add a comment |
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
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
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
add a comment |
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
add a comment |