Flutter: Can I pass arguments to a function defined in an onPress event on a button?

e.g.

    int  result = 0;

    void calculate(num1, num2) {
     setState(() {
         result = num1 + num2;
     });
    }


    new RaisedButton(
          onPressed: () => calculate(1, 100),
          ...
    ),
    new Text("$result")

Do you remember the very first line in flutter which is

void main() => runApp(MyApp());

Where => represents one line functions or methods which is key while calling functions with arguments.

Ex:

void display() {

}

we can call the above function by

IconButton(icon: Icon(Icons.add), onPressed: display)

here we can not include () with display

But, when there is one or more than one arguments to be passed then it goes like below

void addition(int value1, int value2) {
    value1 + value2
}

IconButton(icon: Icon(Icons.add), onPressed: ()=>addition(2, 4))

Just found the answer. No. According to the onPressed property of the RaisedButton class, the onPressed property has a type of VoidCallback, which return void and according to the docs VoidCallBack is the Signature of callbacks that have no arguments and return no data.

Edit: Thanks guys. To solve this, you use an anonymous function, like so

(){your code here}

Tags:

Dart

Flutter