コード例 #1
0
 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);
 }
コード例 #2
0
 @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);
 }