Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 在切换并重新启动应用程序后,我如何在颤振中为开关设定正确的值?_Dart_Flutter - Fatal编程技术网

Dart 在切换并重新启动应用程序后,我如何在颤振中为开关设定正确的值?

Dart 在切换并重新启动应用程序后,我如何在颤振中为开关设定正确的值?,dart,flutter,Dart,Flutter,我有一个开关,我在光明主题和黑暗主题之间切换。开关值true=暗主题。开关值false=亮起。默认值为false。 如果我从false切换到true,主题将切换到dark,到目前为止还不错。但如果我重新启动应用程序,则开关为false,并显示黑色主题 bool _switchValue = false; void _changeThemeInOpp(bool switchValue) { setState(() { _switchValue = switchValue; });

我有一个开关,我在光明主题和黑暗主题之间切换。开关值true=暗主题。开关值false=亮起。默认值为false。 如果我从false切换到true,主题将切换到dark,到目前为止还不错。但如果我重新启动应用程序,则开关为false,并显示黑色主题

bool _switchValue = false;

void _changeThemeInOpp(bool switchValue) {
  setState(() {
    _switchValue = switchValue;
  });
  if (_switchValue == true) {
    DynamicTheme.of(context).setBrightness(Brightness.dark);
  } else {
    DynamicTheme.of(context).setBrightness(Brightness.light);
  }
}

new Switch(
    value: _switchValue,
    onChanged: (bool switchValue) {
      _changeThemeInOpp(switchValue);
    }),

如何重新启动应用程序并使交换机具有正确的值?

您需要使用以下方法将
\u switchValue
保存在磁盘中 有关更多信息,请参阅: 更改值时保存该值:

void _changeThemeInOpp(bool switchValue) async{
// save new value
final _switchValue= await SharedPreferences.getInstance();
_switchValue.setInt('Value', switchValue);
  setState(() {
    _switchValue = switchValue;
  });
  if (_switchValue == true) {
    DynamicTheme.of(context).setBrightness(Brightness.dark);
  } else {
    DynamicTheme.of(context).setBrightness(Brightness.light);
  }
}

您需要使用以下命令将
\u switchValue
保存在磁盘中 有关更多信息,请参阅: 更改值时保存该值:

void _changeThemeInOpp(bool switchValue) async{
// save new value
final _switchValue= await SharedPreferences.getInstance();
_switchValue.setInt('Value', switchValue);
  setState(() {
    _switchValue = switchValue;
  });
  if (_switchValue == true) {
    DynamicTheme.of(context).setBrightness(Brightness.dark);
  } else {
    DynamicTheme.of(context).setBrightness(Brightness.light);
  }
}