Prevent ViewPager from destroying off-screen views

前端 未结 3 2086
予麋鹿
予麋鹿 2020-12-02 04:59

I have a ViewPager hooked up to a FragmentPagerAdapter that\'s displaying three fragments. The ViewPager appears to destroy a hosted fragment\'s view when it is more than on

3条回答
  •  星月不相逢
    2020-12-02 05:36

    By default, ViewPager recreates the fragments when you swipe the page. To prevent this, you can try one of two things:

    1. In the onCreate() of your fragments, call setRetainInstance(true).

    2. If the number of fragments is fixed & relatively small, then in your onCreate() add the following code:

    ViewPager mViewPager = (ViewPager) findViewById(R.id.pager);
    mViewPager.setOffscreenPageLimit(3);
    

    If I remember correctly, the second option is more promising. But I urge you to try both and see which of them work.

提交回复
热议问题