参数类型 'Function' 无法分配给参数类型 'void Function(bool?)

The argument type 'Function' can't be assigned to the parameter type 'void Function(bool?)

当我制作应用程序时发生错误说-参数类型 'Function' 无法分配给参数类型 'void Function(bool?)?'。 Taskcheckbox 无状态小部件内 onChanged : toggleCheckState 表示无法分配函数 toggleCheckboxState

class task_tile extends StatefulWidget {
  @override
  State<task_tile> createState() => _task_tileState();

}

class _task_tileState extends State<task_tile> {
  bool ischanged = false;

  @override
  Widget build(BuildContext context) {
    return ListTile(
      title: Text("This is a box",style: TextStyle(
          decoration: ischanged ? TextDecoration.lineThrough:null
      ),
      ),
      trailing: Taskcheckbox(ischanged,(bool checkboxState) {
        setState(() {
          ischanged = checkboxState;
        });
      }),
    );
  }
}

class Taskcheckbox extends StatelessWidget {

final bool checkboxState;
final  Function toggleCheckboxState;

Taskcheckbox(this.checkboxState,this.toggleCheckboxState);
  @override
  Widget build(BuildContext context) {
    return Checkbox(
      activeColor: Colors.lightBlueAccent,
      value: checkboxState,
      onChanged:toggleCheckboxState,
    );
      }
  }

你用这个

final  Function toggleCheckboxState;

final Function(Object?) toggleCheckboxState;

请参考以下代码修改

@override
  Widget build(BuildContext context) {
    return Checkbox(
      activeColor: Colors.lightBlueAccent,
      value: checkboxState,
      onChanged: (bool val) {
        toggleCheckboxState();
      },
    );
  }

您需要更改函数类型才能解决此问题

来自

final Function toggleCheckboxState;

final ValueChanged<bool?> toggleCheckboxState;