android viewpager change adapter

后端 未结 4 2105
花落未央
花落未央 2021-02-02 14:46

I\'m developing an app with a ViewPager for lateral scrolling tables, sometimes i need to change the adapter to load a different set of tables. I\'ve tried to do the following:<

4条回答
  •  我在风中等你
    2021-02-02 15:25

    Exactly like my APP doing...

    For change ViewPagerAdapter, what I did is :

    1. Clear all Fragments inside current adapter

    2. Set current adapter to null

    3. Assign new adpater for ViewPager

      /* Clear all Fragments inside current adapter */
      public class MyPagerAdapter extends FragmentPagerAdapter
      {
        private ArrayList fragments = new ArrayList();
        //...some stuff
      
        public void clearAll() //Clear all page
        {
          for(int i = 0; i < fragments.size(); i ++)
          fragMan.beginTransaction().remove(fragments.get(i)).commit();
          fragments.clear();
        }
      }
      
      /* Set current adapter to null */
      Constants.VP.removeAllViews();
      Constants.VP.setAdapter(null);
      
      /* Assign new adpater for ViewPager */
      Constants.PAGER = new MyPagerAdapter(getSupportFragmentManager());
      Constants.VP.setAdapter(Constants.PAGER);
      

    Hope it helps~

提交回复
热议问题