Reputation: 43
I have implemented these lines of code but it is not working .
pagerAdapter= new AbstractPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager)findViewById(R.id.pager);
MyFragment frg = (MyFragment)pagerAdapter.getItem(mViewPager.getCurrentItem());
public class AbstractPagerAdapter extends FragmentPagerAdapter {
public AbstractPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return AbstractDetailFragment.newInstance(objlist.get(position),position == notePosition ? true : false);
}
@Override
public int getCount() {
return objlist.size();
}
@Override
public CharSequence getPageTitle(int position) {
return objlist.get(position).getTitle();
}
}
Upvotes: 1
Views: 1347
Reputation: 2558
To get the currently visible fragment instance try the following
viewPager.setOnPageChangeListener(this);
and in the following method
@Override
public void onPageSelected(int position) {
if (position == 0)
setFragmentFor(0);
if (position == 1)
setFragmentFor(1);
.
.
.
// Upto how many fragments you've in your ViewPager
}
so in the setFragmentFor()
method you should write your own logic to get the new Instance of Fragment depending upon the argument value passed over the setFragmentFor()
.
Upvotes: 1