diff --git a/lib/base/settings_base_state.dart b/lib/base/settings_base_state.dart index 95ef24f..ff5e22e 100644 --- a/lib/base/settings_base_state.dart +++ b/lib/base/settings_base_state.dart @@ -29,7 +29,7 @@ abstract class SettingsBaseState extends BaseState List getOptions(); - void saveOption(); + void saveOption(int index); void getSelectedValue(); @@ -42,9 +42,10 @@ abstract class SettingsBaseState extends BaseState return new Container( height: 56.0, child: (new FlatButton(onPressed: () { + final int index = getOptions().indexOf(option); + saveOption(index); setState(() { - saveOption(); - selectedItem = getOptions().indexOf(option); + selectedItem = index; }); }, child: new Row(children: [ diff --git a/lib/screens/currencies.dart b/lib/screens/currencies.dart index d10e301..d7f5489 100644 --- a/lib/screens/currencies.dart +++ b/lib/screens/currencies.dart @@ -53,7 +53,7 @@ class _CurrenciesState extends SettingsBaseState { } @override - saveOption() async { - await helper.saveCurrency(currencies[selectedItem]); + saveOption(int index) async { + await helper.saveCurrency(currencies[index]); } -} \ No newline at end of file +} diff --git a/lib/screens/languages.dart b/lib/screens/languages.dart index 330b357..b1e6dcd 100644 --- a/lib/screens/languages.dart +++ b/lib/screens/languages.dart @@ -38,9 +38,9 @@ class LanguagesState extends SettingsBaseState { } @override - saveOption() async { - await helper.saveLocale(languages[selectedItem]); - await StringsLocalization.load(languages[selectedItem]); + saveOption(int index) async { + await helper.saveLocale(languages[index]); + await StringsLocalization.load(languages[index]); } @override