大神,求解,为什么会报这种错误java.lang.IllegalStateException: Fragment already added
@Override
public Object instantiateItem(ViewGroup container, int position) {
// System.out.println("instantiateItem...............");
// 得到缓存的fragment
Fragment fragment = (Fragment) super.instantiateItem(container,
position);
// 得到tag
String fragmentTag = fragment.getTag();
if (fragmentFlags.get(position % fragmentFlags.size())) {
System.out.println("进入instantiateItem该方法了");
FragmentTransaction beginTransaction = fm.beginTransaction();
// 移除旧的fragment
beginTransaction.remove(fragment);
// 换成新的fragment
fragment = mFragments.get(position);
// 添加新fragment时必须用前面获得的tag
beginTransaction.add(container.getId(), fragment, fragmentTag);
beginTransaction.attach(fragment);
beginTransaction.commit();
//复位更新标志
fragmentFlags.set(position, false);
}
return fragment;
}
这个是和viwewpagerindicator同时使用的,就像网易和今日头条的标题一样,可以编辑标题,当标题的顺序发生变化,对应的fragment也要发生变化,但是执行完代码就报了这个异常,求大神解决。