0

I created a new project in Android Studio that uses fragments and tabs to select a fragment. So Android Studio created a project for me that uses a ViewPager to select the different fragments.

Unfortunately, ViewPager will create off-screen fragments and even trigger onResume() in the off-screen fragment !

This is a problem, since code in onResume() in fragment 2 depends on what a user does in fragment 1.

I've tried setting mViewPager.setOffscreenPageLimit(0); but this doesn't seem to have any effect, the neighboring fragment is still called with onResume() before it's actually shown.

QUESTION

What callback is triggered in a Fragment when it's actually shown? Otherwise, how can I set it up so that I can adjust the UI in fragment 2 depending on what the user did in Fragment 1 ?

Someone Somewhere
  • 23,475
  • 11
  • 118
  • 166
  • possible duplicate of [How to handle AsyncTask's in ActionBarActivity Fragments when ViewPager is used?](http://stackoverflow.com/questions/21914808/how-to-handle-asynctasks-in-actionbaractivity-fragments-when-viewpager-is-used) – Someone Somewhere Aug 04 '15 at 19:51

1 Answers1

0

you can use setOnPageChangeListener() like this

    mViewPager.setOffscreenPageLimit(1);
    mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}

        @Override
        public void onPageSelected(int position) {

            // TO DO 

        }

        @Override
        public void onPageScrollStateChanged(int state) {}
    });
br00
  • 1,391
  • 11
  • 21
  • yeah, right now onPageSelected() contains `actionBar.setSelectedNavigationItem(position);` I suppose at this point call something like `Fragment2.reinitUI()` ? – Someone Somewhere Aug 04 '15 at 15:45
  • I found the solution here: http://stackoverflow.com/questions/21914808/how-to-handle-asynctasks-in-actionbaractivity-fragments-when-viewpager-is-used/24386516#24386516 Google should have improved their template since UI's are likely dynamic, not static slideshows. – Someone Somewhere Aug 04 '15 at 19:51