【发布时间】:2020-05-21 21:15:38
【问题描述】:
我正在尝试创建一个可以在列表中添加或删除值的开关。
我已经为我的开关创建了有状态的小部件和一个布尔变量:
class CustomisePage extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _CustomisePageState();
}
}
class _CustomisePageState extends State<CustomisePage> {
List<String> names = ["Name 1", "Name 2", "Name 3", "Name 4"];
bool isSwitched = true;
我使用条件语句创建了我的开关,检查开关是否“打开”,并且列表不包含值“名称 1”,然后将该值添加到列表 names。如果开关“关闭”,它会从列表中删除“名称 1”。
SwitchListTile(
activeColor: Colors.amber,
value: isSwitched,
onChanged: (value) {
setState(() {
isSwitched = value;
if (isSwitched = true && names.contains("Name 1") = false) {
names.add("Name 1");
} else {
names.remove("Name 1");
}
});
},
title: Text("Name 1"),
secondary: const Icon(Icons.add),
)
然而,这个问题是 Flutter/Dart 不喜欢我创建的“games.contains("Name 1") = false”语句来检查值是否在列表中。
我非常感谢任何帮助,甚至是关于改进我的代码以使其更高效的建议!
【问题讨论】:
-
嘿,感谢您进行编辑!