Flutter setState()方法不使用';t更新小部件

Flutter setState()方法不使用';t更新小部件,flutter,flutter-layout,Flutter,Flutter Layout,它没有更新我的小部件。如果我点击开关打开,开关上的暗模式总是向后移动(不会改变) import'包装:flift/cupertino.dart'; 进口“包装:颤振/材料.省道”; 类设置Screen扩展StatefulWidget{ 常量设置屏幕({Key?Key}):超级(Key:Key); @凌驾 _SettingsScreenState createState()=>_SettingsScreenState(); } 类设置ScreenState扩展状态{ @凌驾 小部件构建(构建上下文

它没有更新我的小部件。如果我点击开关打开,开关上的暗模式总是向后移动(不会改变)

import'包装:flift/cupertino.dart';
进口“包装:颤振/材料.省道”;
类设置Screen扩展StatefulWidget{
常量设置屏幕({Key?Key}):超级(Key:Key);
@凌驾
_SettingsScreenState createState()=>_SettingsScreenState();
}
类设置ScreenState扩展状态{
@凌驾
小部件构建(构建上下文){
布尔暗模式=假;
返回容器(
子:ListView(
儿童:[
列表砖(
标题:常量文本(“灯光”),
拖曳:CupertinoSwitch(
值:_暗模式,
一旦更改:(布尔值){
设置状态(){
_暗模式=值;
打印('DarkMode:$_DarkMode');
});
},
),
),
],
));
}
}\u暗码必须是小部件状态下的字段。将其移到生成方法之外:

  class _SettingsScreenState extends State<SettingsScreen> {
  
  bool _darkMode = false;

  @override
  Widget build(BuildContext context) {
class\u设置屏幕状态扩展状态{
布尔暗模式=假;
@凌驾
小部件构建(构建上下文){

\u darkMode必须是小部件状态的字段。将其移到生成方法之外:

  class _SettingsScreenState extends State<SettingsScreen> {
  
  bool _darkMode = false;

  @override
  Widget build(BuildContext context) {
class\u设置屏幕状态扩展状态{
布尔暗模式=假;
@凌驾
小部件构建(构建上下文){

好的,非常感谢!@JanHecker如果Ignacio的答案解决了您的问题,请将问题标记为已解决,以便其他人可以在该状态下找到它。好的,非常感谢!@JanHecker如果Ignacio的答案解决了您的问题,请将问题标记为已解决,以便其他人可以在该状态下找到它。