You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GestureDetector长按事件执行代码并更新页面的问题及解决

解决GestureDetector长按触发时同时执行代码并更新页面的问题

需求:在GestureDetector的长按事件触发时,既要执行自定义代码,又要触发原有逻辑更新页面。但直接将onLongPress替换为自定义函数后,自定义代码可执行,但页面无更新。

初始代码

@override
Widget build(BuildContext context) {
  return GestureDetector(
      onLongPress: onLongPressDetected,
      child: Scaffold(
        appBar: AppBar(
          title: Row(
            mainAxisAlignment: MainAxisAlignment.start,
            children: [
              Text('Test')
            ]
          ),
        ),
      ),
    ),
}

解决方案

通过封装一个函数,先执行自定义逻辑,再返回原本的onLongPressDetected方法,实现两者兼顾:

void Function()? test() {
  print("Test");
  return onLongPressDetected;
}

@override
Widget build(BuildContext context) {
  return GestureDetector(
      onLongPress: test(),
      child: Scaffold(
        appBar: AppBar(
          title: Row(
            mainAxisAlignment: MainAxisAlignment.start,
            children: [
              Text('Test')
            ]
          ),
        ),
      ),
    ),
}

内容的提问来源于stack exchange,提问作者Tter2023

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 10:34:56