颤振复选框未更改/更新/工作

dev*_*alp 6 dart flutter flutter-layout

我正在尝试学习 Flutter 中的复选框。

问题是,当我想在 Scaffold(body:) 中使用复选框时,它正在工作。但我想在不同的地方使用它,比如 ListView 中的一个项目。

return Center(
    child: Checkbox(
  value: testValue,
  onChanged: (bool value) {
    setState() {
      testValue = value;
    }
  },
));
Run Code Online (Sandbox Code Playgroud)

但它不起作用,更新和改变任何东西。

编辑:我通过在 StatefulBuilder 中放置复选框解决了我的问题。感谢@cristianbregant

 return StatefulBuilder(
    builder: (BuildContext context, StateSetter setState) {
  return Center(
    child: CheckboxListTile(
      title: const Text('Animate Slowly'),
      value: _valueCheck,
      onChanged: (bool value) {
        setState(() {
          _valueCheck = value;
        });
      },
      secondary: const Icon(Icons.hourglass_empty),
    ),
  );
});
Run Code Online (Sandbox Code Playgroud)

cri*_*ant 14

试试这些吧:

return Center(
  child: CheckboxListTile(
    title: const Text('Animate Slowly'),
    value: _valueCheck,
    onChanged: (bool value) {
      setState(() {
       _valueCheck = value;
      });
    },
    secondary: const Icon(Icons.hourglass_empty),
  ),
);
Run Code Online (Sandbox Code Playgroud)

请记住,如果您在对话框中使用它,或者bottomsheet您需要将复选框小部件包装在有状态构建器中,因为状态不会更新。