[Flutter] floatingActionButton ボタン押下の onPressed の処理を複数行書きたい場合
たまに記載してしまうFlutterの記事です。
一応Flutterについてザックリ五七五で説明するとこんな感じ
フラッター 何でも動く アプリになる
さて、分かったことを書いていきます。
ボタンを押したときに複数の処理を実行したい
今回やりたいことは、
デフォルトのプログラムを書き換えて、ボタンを押したら発動する処理に複数の処理を実行させたい!
元のコードはこれ。
onPressedというのが、ボタン押下で実行されるイベントで、
ボタンを押すとカウントが増えていく関数(_incrementCounter)が設置されています。
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter, //カウンター
tooltip: 'Increment',
child: const Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
これを複数行にするには
というふうに書くようだ。()のあとに{}で処理をくくる。
floatingActionButton: FloatingActionButton(
onPressed: () {
_incrementCounter; //カウンター
functionTest; //追加処理
},
tooltip: 'Increment',
child: const Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
エラーは出ないが、実行してボタンを押下してみると
修正前に出来ていたカウントアップがされない。
ログを処理の前後に埋め込んでみると出力されているので、
通っているので追加した処理も実行はされている模様。
調べた結果、この複数行を書く書き方だと、関数にカッコが必要になるようだ。エラーもないけど処理されてないってどういうことだろう。。。
floatingActionButton: FloatingActionButton(
onPressed: () {
_incrementCounter(); //カウンター
functionTest(); //追加処理
},
tooltip: 'Increment',
child: const Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
複数にするだけで、形式がいろいろ変わって難しいですね。