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

Flutter调用_tile函数报错:位置参数过多,该如何解决?

错误原因及修复方案

错误根源

你定义的_tile函数,第一个参数是位置参数BuildContext context,后面的title、subtitle、icon都是命名参数(必须带参数名传递)。但调用时你写成了:

_tile(data[index].ssid, data[index].auth, icon: Icons.wifi);

这里把ssid和auth当成位置参数传递,可函数仅接受1个位置参数(context),因此触发了"参数过多"的报错。

修复步骤

  1. 修正_tile调用方式:
    从itemBuilder中拿到context,先传递这个位置参数,再通过命名参数传入title、subtitle、icon:

    return _tile(context, title: data[index].ssid, subtitle: data[index].auth, icon: Icons.wifi);
    
  2. 完善参数类型(可选但推荐):
    给_jobsListView的参数添加明确类型,避免类型警告:

    ListView _jobsListView(List<Job> data) { ... }
    

修复后的关键代码片段

ListView _jobsListView(List<Job> data) {
  return ListView.builder(
      itemCount: data.length,
      itemBuilder: (context, index) {
        return _tile(
          context,
          title: data[index].ssid,
          subtitle: data[index].auth,
          icon: Icons.wifi,
        );
      });
}

修改后参数传递符合函数定义要求,ListTile可正常构建,点击跳转逻辑也能正常工作(_tile内的Navigator.pushNamed已正确使用传入的context)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 23:55:17