検索
[Flutter/dart]GestureDetectorのイベントがページ表示時に走る
- M.R

- 2023年9月9日
- 読了時間: 1分
現象
あるアイコンは長押し時に所定の動作を実行します
これを実現するために、GestureDetectorのonLongPressに処理を登録していました
しかしいざビルドしてみると、アイコンが表示されたタイミングで処理が実行されてしまいました
以下が該当部分のソースコードです。
さあ、どこが間違っているでしょう?
return GestureDetector(
child: Container(
//・・・
),
onLongPress: onLongPress(),
);
void onLongPress(){
//長押し時に実行したい処理
}原因
渡すべきはonLongPress
onLongPress()だと実行結果が渡されるので、GestureDetectorのコンストラクタで結果を得るために処理が実行されてしまいます。
実行結果ではなくメソッドを渡さないといけません。
最後に
こうやってまとめるとすぐ分かりますが、発生時は何が起こっているかも分からずあたふたしました笑
実はgithub copilotに書かせた部分だったんですが、ちゃんとチェックしないとダメですね。






コメント