微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Dart Flutter中使用onPressed或onTap调用具有多个参数的函数

如何解决如何在Dart Flutter中使用onPressed或onTap调用具有多个参数的函数

如果我定义了这样的函数

getTimeAndDuration(LatLng origin,LatLng dest) async {
    try {
      http.Response response = await http.get(
        'https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial'
            '&origins=${origin.latitude},${origin.longitude}'
            '&destinations=${dest.latitude},${dest.longitude}'
            '&key=$googleAPIkey'
            '&mode=$_mode',);
      var body = json.decode(response.body);
      mapData = MapData.fromJson(body);
      if (_mode != "Choose Mode") {
        if (mapData.rows[0].elements[0].status.toString() == "OK" &&
            mapData.status.toString() == "OK") {
          setState(() {
            showData = true;
          });
        } else {
          // noAvailbleAlert(context);
        }
      } else {
        // noChooseAlert(context);
      }
      print("Helloooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo");
      print(mapData.rows[0].elements[0].duration.text);
      print(mapData.rows[0].elements[0].distance.text);

      return mapData;
    } catch (error) {
      print(error);
    }
  }

我想用这样的按钮来调用它:

Widget goButton() {
    return Container(
        child: FlatButton(
            onpressed: () => getTimeAndDuration(LatLng(origin),LatLng(dest)),color: Colors.red,child: Text(
              "Go",style: TextStyle(color: Colors.white),)));
  }

“ onpressed”语法如何正常调用函数?我无法正常工作。

解决方法

尝试一下:

onPressed: () => getTimeAndDuration(origin,dest)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。