Alternative for the onResume() during Fragment switching

Manjunath picture Manjunath · Jul 25, 2013 · Viewed 61k times · Source

onResume() method won't get called when we switch between fragments more than one time. So, is there any better way to handle resume operation?

Answer

Dhaval picture Dhaval · May 14, 2014

Code follows:

Step: 1

Create Interface:

public interface YourFragmentInterface {
    void fragmentBecameVisible();
}

Step: 2

Attach Listner In setOnPageChangeListener:

mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(final int position, final float v, final int i2) {
        }

        @Override
        public void onPageSelected(final int position) {
            YourFragmentInterface fragment = (YourFragmentInterface) mPagerAdapter.instantiateItem(mViewPager, position);
            if (fragment != null) {
                fragment.fragmentBecameVisible();
            } 
        }

        @Override
        public void onPageScrollStateChanged(final int position) {
        }
    });

Step: 3

Implement Interface In Your Fragment:

public class yourActivity extends SherlockFragment implements YourFragmentInterface{
    @Override
    public void fragmentBecameVisible() {
          System.out.println("TestFragment");
    }
}

Implement this listner in all yor fragment activity fragmentBecameVisible() this method call during Fragment switching.

Thanks.