0

I am using view pager. In this view pager i have 3 page. When i am running the app. view pager create left center and right fragment instance and all life cycle method are called. my problem is that i need to show some data when i select middle page. but i am not able to get any callback method to do. please help me. thanks in advance.

Adapter

public class ViewPagerFragmentPageAdapter extends FragmentPagerAdapter {

        Context mContext;
        public ViewPagerFragmentPageAdapter(Context context, FragmentManager fm) {
            super(fm);
            mContext = context;
        }

        @Override
        public Fragment getItem(int position) {
            switch (position) {
            case 0:
                return BusinessCategoryFragment.getInstance();
            case 1:
                return FavoriteFragment.getInstance(mContext.getResources().getString(R.string.favorite));
            case 2:
                return RecentFragment.getInstance(mContext.getResources().getString(R.string.recent));
            default:
                return BusinessCategoryFragment.getInstance();
            }
        }

        @Override
        public int getCount() {
            return 3;
        }

    }

  mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewFragmentPageAdapter = new ViewPagerFragmentPageAdapter(
                HomeActivity.this, getSupportFragmentManager());
        mViewPager.setAdapter(mViewFragmentPageAdapter);
Umesh Kumar Saraswat
  • 758
  • 3
  • 10
  • 28
  • Possible duplicate of http://stackoverflow.com/questions/12650810/how-to-know-which-fragment-is-currently-selected-in-a-viewpager – dhke May 04 '15 at 11:32
  • Middle page is a `Fragment` on itself, seperated from other `fragments`. So if you want to refresh that fragment, whatever you do to that fragment, only that fragmetn will be affected – hrskrs May 04 '15 at 11:33

1 Answers1

0

You can use the onPageChangelistener and handle data refreshing code in the overrided methods of the listener.

vPager.setOnPageChangeListener(new OnPageChangeListener() {
    @Override
    public void onPageSelected(int position) {
       // here u can add necessary code for refreshing data
    }

    @Override
    public void onPageScrolled(int arg0, float arg1, int arg2) {}

    @Override
    public void onPageScrollStateChanged(int arg0) {}
});
RIJO RV
  • 806
  • 6
  • 18