我已经检查了列表中的每个项目,我尝试了堆栈溢出上给出的其他答案,但没有一个对我有用。
这是我的代码:
bool isDone = false;
Checkbox(
activeColor: CustomColors().primaryColor,
value: isDone,
onChanged: (bool val){
setState(() {
val = isDone;
});
},
),
确保isDone
成为您正在制作的 Widget 的实例变量。
此外,您正在向后设置状态。尝试这样的事情?
class SomeWidgetState extends State<SomeWidget> {
bool isDone;
@override
Widget build(BuildContext context) {
return (
...
Checkbox(
activeColor: CustomColors().primaryColor,
value: isDone,
onChanged: (bool val){
setState(() {
isDone = val;
});
},
)
);
}
}
你只是修改了错误的值。isDone
是你的价值,需要改变。此外,请确保您的isDone
设置在构建函数之外。否则,它将在每个设置状态上重置
class _RandomImageState extends State<RandomImage> {
bool isDone = false;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: (Text('Hello')),
),
body: Checkbox(
activeColor: Colors.red,
checkColor: Colors.black,
value: isDone,
onChanged: (bool val) {
setState(() {
isDone = val;
});
},
),
);
}
}