public void destroyItem(ViewGroup paramViewGroup, int paramInt, Object paramObject) { paramViewGroup = (Fragment) paramObject; if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } while (mSavedState.size() <= paramInt) { mSavedState.add(null); } mSavedState.set(paramInt, mFragmentManager.saveFragmentInstanceState(paramViewGroup)); mFragments.set(paramInt, null); mCurTransaction.remove(paramViewGroup); }
@Override public void destroyItem(ViewGroup container, int position, Object object) { Fragment fragment = (Fragment) object; if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } if (DEBUG) { Log.v( TAG, "Removing item #" + position + ": f=" + object + " v=" + ((Fragment) object).getView()); } if (position < getCount() && fragment.mIndex >= 0) { FragmentState fragmentState = new FragmentState(fragment); Fragment.SavedState savedState = mFragmentManager.saveFragmentInstanceState(fragment); if (savedState != null) { fragmentState.mSavedFragmentState = savedState.mState; } mFragmentStates.set(position, fragmentState); mFragments.set(position, null); } mCurTransaction.remove(fragment); }