我正在 flutter 地建立一个计算器,我试图将带有参数的回调onclick函数传递给另一个文件中的按钮小部件,但是当我单击任何按钮时,它将引发异常,该方法在null上被调用。我也不知道如何在CustomBtn类中使用参数声明函数。
这是我传递函数的主要小部件:

CustomBtn(
              btext: '8',
              color: Colors.grey[600],
              textColor: Colors.grey[50],
              onClick: buttonPressed('8'),
            ),
这是按钮小部件:
  class CustomBtn extends StatelessWidget {
  final String btext;
  final color;
  final textColor;
  final Function onClick;

  CustomBtn({
    this.btext,
    this.color,
    this.textColor,
    this.onClick,
  });
  @override
  Widget build(BuildContext context) {
    return RaisedButton(
      child: Text(
        btext,
        style: TextStyle(fontSize: 35.0, color: textColor),
      ),
      onPressed: () => onClick(btext),
      color: color,
      padding: EdgeInsets.fromLTRB(0.0, 24.0, 0.0, 24.0),
    );
  }
}

最佳答案

将函数传递给onClick参数时,您正在调用该函数。相反,只需将引用传递给函数即可。

CustomBtn(
    btext: '8',
    color: Colors.grey[600],
    textColor: Colors.grey[50],
    onClick: buttonPressed,
),

关于function - 在空方法上调用了 'call'方法。 flutter ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63086773/

10-13 04:41