FragmentPagerAdapter中Fragment不刷新终极解决方案:
场景: 切换不同目录或者菜单,需要动态加载fragment 的数量,(比如先加载两个fragment--》请求数据后的变成9个fragment,需要刷新)
/**
* 因为该适配器涉及到工厂间切换,动态增删fragment,所以每次需要清空缓存
* @param container
* @param position
* @return
*/
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
FragmentTransaction ft = fragmetnmanager.beginTransaction();
for (int i = 0; i < getCount(); i++) {//通过遍历清除所有缓存
final long itemId = getItemId(i);
//得到缓存fragment的名字
String name = makeFragmentName(container.getId(), itemId);
//通过fragment名字找到该对象
Fragment fragment = (Fragment) fragmetnmanager.findFragmentByTag(name);
if (fragment