From 8cb9ef70faa0889fdf0de3ce1113944789e5e284 Mon Sep 17 00:00:00 2001 From: Hans Muller Date: Fri, 26 Feb 2016 16:02:59 -0800 Subject: [PATCH] tabs --- packages/flutter/lib/src/material/tabs.dart | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/flutter/lib/src/material/tabs.dart b/packages/flutter/lib/src/material/tabs.dart index b734bb744d..cb98d4eeef 100644 --- a/packages/flutter/lib/src/material/tabs.dart +++ b/packages/flutter/lib/src/material/tabs.dart @@ -451,10 +451,8 @@ class TabBarSelectionState extends State> { _initValueToIndex(); } - void dispose() { - _controller.stop(); + void _writeValue() { PageStorage.of(context)?.writeState(context, _value); - super.dispose(); } List get values => config.values; @@ -477,6 +475,7 @@ class TabBarSelectionState extends State> { if (!_valueIsChanging) _previousValue = _value; _value = newValue; + _writeValue(); _valueIsChanging = true; // If the selected value change was triggered by a drag gesture, the current @@ -530,11 +529,13 @@ class TabBarSelectionState extends State> { } void deactivate() { + _controller.stop(); for (TabBarSelectionAnimationListener listener in _animationListeners.toList()) { listener.handleSelectionDeactivate(); unregisterAnimationListener(listener); } assert(_animationListeners.isEmpty); + _writeValue(); } Widget build(BuildContext context) {