繁体   English   中英

当布尔在列表中时,开关不起作用 - flutter

[英]Switch not working when bool is in list - flutter

快速提问,让我知道是否需要链接堆栈等。

我有一个开关小部件,它工作得很好。 但是,如果我将 boolean(我用我的 setstate 更改)放在列表中,我会收到错误消息“类型'bool'不是'函数结果'的'List'类型的子类型”。 不知道为什么这不起作用,因为我所做的与我在 toggleButtons 中的完全相同并且它在那里工作。

代码看起来像这样

Switch(value: isChosen[0], onChanged: (value) {
                            setState(() {
                              isChosen[0] = value;
                            });
                          })

并像这样列出

List<bool> isChosen = [true, false, false]

感谢您在这个相当小的问题上提供的任何帮助!

你可以按照这个片段。

class GA23 extends StatefulWidget {
  GA23({Key? key}) : super(key: key);

  @override
  State<GA23> createState() => _GA23State();
}

class _GA23State extends State<GA23> {
  List<bool> isChosen = [true, false, false];
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          for (int i = 0; i < isChosen.length; i++)
            Switch(
                value: isChosen[i],
                onChanged: (value) {
                  setState(() {
                    isChosen[i] = value;
                  });
                })
        ],
      ),
    );
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM