mViewPager.setOffscreenPageLimit(categoryList.size()); mViewPager.setAdapter(new VPAdapter(getSupportFragmentManager(), categoryList));
new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { VideosListFragment fragment = (VideosListFragment) mViewPager.getAdapter().instantiateItem(mViewPager, position); fragment.onPageSelected(position, categoryList.get(position).getName()); } @Override public void onPageScrollStateChanged(int state) { }
在VPAdapter中不初始化item,由ViewPager.OnPageChangeListener每次只初始化当前fragment,而加载过的fragment再次选中不会重新加载