public override IParcelable SaveState() { Bundle state = null; if (_savedState.Any()) { state = new Bundle(); var fss = new IParcelable[_savedState.Count]; for (var i = 0; i < _savedState.Count; i++) { fss[i] = _savedState.ElementAt(i); } state.PutParcelableArray("states", fss); state.PutStringArrayList("tags", _savedFragmentTags); } for (var i = 0; i < _fragments.Count; i++) { var f = _fragments.ElementAtOrDefault(i); if (f == null) { continue; } if (state == null) { state = new Bundle(); } var key = "f" + i; _fragmentManager.PutFragment(state, key, f); } return(state); }
public override IParcelable SaveState() { Bundle state = null; if (_savedState.Count > 0) { state = new Bundle(); var fss = new Fragment.SavedState[_savedState.Count]; _savedState.CopyTo(fss, 0); state.PutParcelableArrayList("states", fss); } for (var i = 0; i < _fragments.Count; i++) { var f = _fragments[i]; if (f != null && f.IsAdded) { if (state == null) { state = new Bundle(); } var key = "f" + i; _fm.PutFragment(state, key, f); } } return(state); }
public override IParcelable SaveState() { IParcelable p = base.SaveState(); Bundle bundle = new Bundle(); bundle.PutParcelable(_stateSuperState, p); bundle.PutInt(_statePages, _pages.Size()); if (0 < _pages.Size()) { for (int i = 0; i < _pages.Size(); i++) { int position = _pages.KeyAt(i); bundle.PutInt(CreateCacheIndex(i), position); Fragment f = _pages.Get(position); _fm.PutFragment(bundle, CreateCacheKey(position), f); } } return(bundle); }
protected override void OnSaveInstanceState(Bundle outState) { base.OnSaveInstanceState(outState); FragmentManager.PutFragment(outState, "mContent", mContent); }