public override void DestroyItem(ViewGroup container, int position, Java.Lang.Object objectValue) { var fragment = (Fragment)objectValue; if (_curTransaction == null) { _curTransaction = _fragmentManager.BeginTransaction(); } #if DEBUG MvxLog.Instance.Trace( $"Removing item #{position}: f={objectValue} v={((Fragment)objectValue).View} t={fragment.Tag}"); #endif while (_savedState.Count <= position) { _savedState.Add(null); _savedFragmentTags.Add(null); } _savedState[position] = fragment.IsAdded ? _fragmentManager.SaveFragmentInstanceState(fragment) : null; _savedFragmentTags[position] = fragment.IsAdded ? fragment.Tag : null; _fragments[position] = null; _curTransaction.Remove(fragment); }
public override void DestroyItem(ViewGroup container, int position, Object objectValue) { var fragment = (Fragment)objectValue; if (_curTransaction == null) { _curTransaction = _fragmentManager.BeginTransaction(); } #if DEBUG Mvx.Trace("Removing item #" + position + ": f=" + objectValue + " v=" + ((Fragment)objectValue).View + " t=" + fragment.Tag); #endif while (_savedState.Count <= position) { _savedState.Add(null); _savedFragmentTags.Add(null); } _savedState[position] = _fragmentManager.SaveFragmentInstanceState(fragment); _savedFragmentTags[position] = fragment.Tag; _fragments[position] = null; _curTransaction.Remove(fragment); }
public override void DestroyItem(ViewGroup container, int position, Java.Lang.Object objectValue) { var fragment = (TFragment)objectValue; _curTransaction = _curTransaction ?? _fm.BeginTransaction(); if (Debug) { Log.Verbose(Tag, string.Format("Removing item #{0}: f={1}", position, fragment)); } while (_savedState.Count <= position) { _savedState.Add(null); } _savedState[position] = _fm.SaveFragmentInstanceState(fragment); _fragments[position] = null; _curTransaction.Remove(fragment); }