Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Método _criaTransferencia não precisa receber parametros?

class TransferForm extends StatelessWidget {
  final TextEditingController _accountNumberController =
     new TextEditingController();

  final TextEditingController _amountController = new TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Form')),
      body: Column(
        children: [
          Editor(
              controller: _accountNumberController,
              inputLabel: 'Account Number',
              labelHintText: '0000'),
          Editor(
              controller: _amountController,
              inputLabel: 'Amount',
              labelHintText: '0.00',
              icon: Icons.monetization_on),
          RaisedButton(
            onPressed: () => _createTransfer(),
            child: Text('Confirm'),
          ),
        ],
      ),
    );
  }

  void _createTransfer() {
    final int accountNumber = int.tryParse(_accountNumberController.text);
    final double transferAmount = double.tryParse(_amountController.text);

    if (accountNumber != null && transferAmount != null) {
      final newTransfer = Transfer(accountNumber, transferAmount);
      debugPrint('$newTransfer');
    }
  }
}

O onPressed do RaisedButton chama o método __createTransfer(), mas não passa as 2 variáveis como parâmetro. Como o método tem acesso á _accountNumberController e _amountController?

1 resposta
solução!

Bom dia Igor, Tranquilo?

Então, no caso lá em cima no nosso Stateless Widget chamado TransferForm criamos os controles correto?

 final TextEditingController _accountNumberController =
     new TextEditingController();

  final TextEditingController _amountController = new TextEditingController();

Os controles estão dentro desse Widget, portanto qualquer um dentro do Widget tem acesso a eles!

Lembrando que a função void _createTransfer() está dentro do nosso Stateless Widget.

Agora e se essa função fosse importada de outro arquivo?

Então seria realmente necessário passar os parâmetros de controle.