FragmentPagerSupport is a FragmentActivity class, FragmentA and FragmentB are representing 2 different tabs. In the First tab I have a EditText and a button. My task is to on button click need to open the 2nd tab and show the EditText value in the 2nd tab. I am also using a FragmentStatePagerAdapter.
Following code is building tabs onCreate() of FragmentActivity:
for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
actionBar.addTab(actionBar.newTab()
.setText(mSectionsPagerAdapter.getPageTitle(i))
.setTabListener(this));
}
My code in FragmentStatePagerAdapter is as follow:
public Fragment getItem(int position) {
Fragment fragment = null;
Bundle args = new Bundle();
switch (position) {
case 0:
fragment = FragmentA();
args.putInt(FragmentA.ARG_SECTION_NUMBER, position + 1);
fragment.setArguments(args);
break;
case 1:
fragment = new FragmentB();
args.putInt(FragmentB.ARG_SECTION_NUMBER, position + 1);
fragment.setArguments(args);
break;
}
return fragment;
}
My code of FragmentA on button click is as follow:
confirmButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
}
}
Now I stuck here. Can't find what should be the code here to call the 2nd tab and show the value according to tab1 EditText value.
Assuming your ViewPager is named mPager:
public void onClick(View view)
{
mPager.setCurrentItem(1); // Change to page 1, i.e., FragmentB
}
I would suggest reading this training page in detail. It goes into some of the strategies used to pass information from Fragment to Fragment (generally by having the Activity implement an interface that the Fragment can then call).
It really depends on how coupled you want your Fragments to be. You could certainly use something like
((FragmentB)getActivity().getSupportFragmentManager().findFragmentByTag(
"android:switcher:" + pager.getId() + ":1")).setExitText(text)
to pass the text from FragmentA to FragmentB, but that tightly couples your Fragments to each other and to the ViewPager the Activity contains.
I would suggest
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With